0041 | How to install APC

หลังจากที่ได้สังเกตุ ว่ามีเว็บลูกค้า เว็บหนึ่ง สมาชิกเข้าเว็บบอร์ดเยอะมาก และมีการเรียกหน้าเดิมซ้ำๆ คืนก่อน แค่ 4 ชม พี่แกเล่นโพสกระทู้ปาเข้าไป 100 กว่าหน้า ตั้งให้แสดงหน้าละ 10 Reply 100 x 10 = 1000 Reply ภายใน 4 ชม. (กำ เว็บบอร์ด หรือ chat วะ) และมีคนออนไลน์ในกระทู้นั้น เป็น ร้อย ครับ และแต่ละ reply ต่างกันไม่ถึง 1 นาที บางอัน 3 วินาที

ก็เลยคิดในใจว่า ไม่ไหวแระ ต้องหา cache มาช่วยดีกว่า ตอนแรกก็ติดตั้ง eAccelerator เพราะว่า มันติดตั้งง่าย ( ง่ายยังไง ก็ลองไปอ่านเรื่องเก่าที่เคยเขียนไว้ครับ Monitor เครื่อง Server ด้วย MRTG ) แต่ก็เจอปัญหาคือ /tmp มันอ้วนเอา อ้วนเอา เพราะว่า มันมีการเขียนไฟล์ชั่วคราวลงไปใน /tmp ด้วยครับ และเครื่องผม ก็แบ่งไว้แค่ 1 GB เอง ปล่อยไว้คงไม่ดีแน่ ก็เลยมองหาตัวอื่นต่อไป

แล้วคุณ ไอซ์ แนะนำให้ลอง APC ดู เทพขนาดนี้แนะนำมา ผมจะรอช้าอยู่ทำไม จัดการติดตั้ง ณ บัดเดี๋ยวนั้นเลย

นอกเรื่องมาเยอะแล้ว มาดูวิธีติดตั้งกันเลยดีกว่าครับ

ให้เข้าไปที่เว็บ http://pecl.php.net/package/APC มองหาเวอร์ชั่นล่าสุด ที่มันเขียนว่า stable แล้วทำการโหลดมาซะ (ณ ตอนนี้คือ 3.0.19 )

cd /usr/local/directadmin/customapache
wget http://pecl.php.net/get/APC-3.0.19.tgz
tar -zxvf APC-3.0.19.tgz
cd APC-3.0.19
/usr/local/bin/phpize
./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/bin/php-config
make
make install

หากเสร็จแล้ว มันจะแสดงที่อยู่ของไฟล์ apc.so ก็ จำๆไว้ด้วยแล้วกันนะ
หลังจากนั้น เรามาแก้ไขไฟล์ php.ini กันครับ

nano /usr/local/lib/php.ini

โดยเอาค่าด้านล่างนี้ เอาไปไว้หลัง Windows Extensions ครับ

extension="/usr/local/lib/php/extensions/no-debug-non-zts-99999999/apc.so"
apc.shm_size = 32

หลังจากนั้น ก็ restart httpd

/etc/init.d/httpd restart

เสร็จแล้วครับ
ผลจะเป็นยังไง ตอนนี้ยังบอกไม่ได้ เดี๋ยวรอ สักวัน สองวัน ตะเอากราฟของ MRTG มาให้ดูครับ ว่าจะเป็นยังไงบ้าง

  • ตอนนี้กลับมาใช้ eAccelerator แล้วครับ

    แต่ตั้งค่าให้มันไม่ต้องเขียนไฟล์ ลงดิส แต่ให้ใช้เขียนลงในแรม อย่างเดียว ของเดิม ตั้งไว้แค่ 16 แต่ผมปรับไปเป็น 128 อิอิ แรมเหลือเยอะ ไม่รู้จะเอาไปทำอะไร

    ผลที่ออกมา เป็นที่น่าพอใจครับ

  • ตอนนี้กลับมาใช้ eAccelerator แล้วครับ

    แต่ตั้งค่าให้มันไม่ต้องเขียนไฟล์ ลงดิส แต่ให้ใช้เขียนลงในแรม อย่างเดียว ของเดิม ตั้งไว้แค่ 16 แต่ผมปรับไปเป็น 128 อิอิ แรมเหลือเยอะ ไม่รู้จะเอาไปทำอะไร

    ผลที่ออกมา เป็นที่น่าพอใจครับ