หลังจากที่ได้สังเกตุ ว่ามีเว็บลูกค้า เว็บหนึ่ง สมาชิกเข้าเว็บบอร์ดเยอะมาก และมีการเรียกหน้าเดิมซ้ำๆ คืนก่อน แค่ 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 )
[code lang=”plain”]
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
[/code]
หากเสร็จแล้ว มันจะแสดงที่อยู่ของไฟล์ apc.so ก็ จำๆไว้ด้วยแล้วกันนะ
หลังจากนั้น เรามาแก้ไขไฟล์ php.ini กันครับ
[code lang=”plain”]
nano /usr/local/lib/php.ini
[/code]
โดยเอาค่าด้านล่างนี้ เอาไปไว้หลัง Windows Extensions ครับ
[code lang=”plain”]
extension="/usr/local/lib/php/extensions/no-debug-non-zts-99999999/apc.so"
apc.shm_size = 32
[/code]
หลังจากนั้น ก็ restart httpd
[code lang=”plain”]
/etc/init.d/httpd restart
[/code]
เสร็จแล้วครับ
ผลจะเป็นยังไง ตอนนี้ยังบอกไม่ได้ เดี๋ยวรอ สักวัน สองวัน ตะเอากราฟของ MRTG มาให้ดูครับ ว่าจะเป็นยังไงบ้าง
ตอนนี้กลับมาใช้ eAccelerator แล้วครับ
แต่ตั้งค่าให้มันไม่ต้องเขียนไฟล์ ลงดิส แต่ให้ใช้เขียนลงในแรม อย่างเดียว ของเดิม ตั้งไว้แค่ 16 แต่ผมปรับไปเป็น 128 อิอิ แรมเหลือเยอะ ไม่รู้จะเอาไปทำอะไร
ผลที่ออกมา เป็นที่น่าพอใจครับ