Drupal.org มีเขียนถึงการปรับปรุงประสิทธิภาพของ Drupal.org พอดี
เลยมาเขียนแลกเปลี่ยนประสบการณ์กันหน่อย
ของ Blognone ผมใช้วิธีปิด search module แล้วใช้ผ่าน Google เหมือนกัน ส่วนเรื่อง physical หรือ sql tuning ยังไม่ได้ทำ เพราะไม่มีปัญหาเรื่อง CPU มากนัก แต่มีปัญหาเรื่อง b/w มากกว่าในตอนแรกๆ
ที่เคยทำก็
ที่ยังไม่ได้ทำคือบีบ CSS แต่คิดว่าคงได้ทำละมั้ง เห็นใน High performace group ของ Drupal ใช้
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
เท่าที่ทำตอนนี้
mod_deflate เหมือนว่ามีปัญหากับ IE กะ proxy บางตัว มันไม่ยอมรับ
ผมเลยบีบ js บางตัวโดยใช้ packer ผลคือ ได้ไฟล์ที่เล็กลง
ไม่เปลืองแรงบีบ on fly แถมคนอ่านไม่ออกอีกด้วย :D
ส่วน expires ใส่ไว้สำหรับสคริป css และรูปเล็กๆ ต่างๆ (พวก bg/emo)
ประมาณสัปดาห์นึง (จริงๆ น่าจะเดือนนึงไปเลย ไม่เคยเปลี่ยนอยู่แล้ว)
เรื่องแยกเครื่อง ก็พอช่วยได้บ้าง
เครื่อง static ก็สามารถเปิด keep_alive ได้ด้วย ไว้โหลดรูปเล็กๆ เร็วดี
ส่วนเครื่อง cgi นี่คงไม่ต้องเปิด เปลือง slot :p
-----
iPAtS
mod_deflate มันช้าอ่ะผมว่า ถ้าเทียบกับ ngx_http_gzip_module ของ Nginx เคยลองเปิดดูอยู่พักนึง Apache ค้างไปเลย…
ไฟล์ใหญ่เหรอครับ ใช้กับพวก *.html *.js *.css ไม่น่าจะตายนะ
ไฟล์ไม่ค่อยใหญ่น่ะครับ แต่เยอะพอสมควร ทำให้ load พุ่งขึ้นหนักมาก หลังจากนั้นเลยลองใช้ Nginx ดู ปรากฎว่าวิ่งได้สบายๆ ใช้ resource [ในการบีบไฟล์]น้อยกว่า Apache มาก
อ๋อ ไฟล์เยอะ คนใช้เยอะ ว่าแต่ Nginx นี่ใช้กับพวก control panel ตัวไหนได้บ้างน้อ
เห็นว่าใช้ไม่ได้เลยซักตัว ถือว่าเป็นข้อเสียที่สุด จากความ Lightweight ของมันเลย ข้อดีที่สุดเวลาใช้กับ Drupal ก็คือ rewrite ค่อนข้างละเอียดกว่า Lighttpd เลยไม่ต้องปวดหัวเวลาจะเซ็ท Clean URL
(เชียร์ Nginx สุดใจ)
เรื่อง static นี่กินขาด แล้ว php กับ fastcgi นี่ประสิทธิภาพเป็นไงมั่งครับ
สารภาพเลยว่าไม่ได้ลองใช้ PHP กับ Nginx อย่างจริงๆ จังๆ เพราะคอนฟิคค่อนข้างยุ่งยาก แต่จากที่เขาลองรันเบนซ์มาร์คของ Rails+FastCGI ดู ถือว่าเร็วที่สุดจากตัวเลือกทั้งหมด (แต่ทางฝั่ง LiteSpeed มีคนมาเทสต์ พบว่า LiteSpeed เร็วกว่านิดหน่อย)
วันไหนไม่ไหวเราจะใช้ mysql cluster
วันไหนไม่ไหวผมจะจ้าง sugree
เฮ้ย แรงไป แค่บอกก็พอ ไม่ต้องจ้าง
ไม่ไหวแล้วครับ :p
ทำ mysql cluster ต้องเตรียมเครื่องอย่างน้อย 4 เครื่อง พร้อมแรมเยอะที่สุดเท่าที่งบประมาณจะเอื้ออำนวย
เอ่อ... ขอบคุณครับ..
แต่ผม แซวขำๆ เฉยๆ นะครับ
แหะๆ ^ ^a
กำลังสนใจเรื่อง high scalability อยู่เลยครับ :D
มีใครเคยลองเทียบ apache mod กับ fastcgi ดูบ้างเปล่าหรือครับว่าอันไหนเร็วกว่ากัน หรือว่าแล้วแต่ภาษา ตามเซ็นท์ (มั่วๆ) mod น่าจะเร็วกว่าแต่กินเมมเยอะกว่า หรือเปล่า?
(ตอนนี้ผมใช้ prefork ไม่รู้ว่าเปลี่ยนเป็น worker จะเร็วกว่าหรือเปล่าเนี่ย)
ว่าแต่.. วันนี้เพิ่งได้ฤกษ์ลองลง APC (php opcode cache) หวังว่าจะช่วยได้ :D
-----
iPAtS
php ไม่ thread-safe ถ้าใช้ worker อาจจะเจอ deadlock ถี่ๆ ถ้ามาใช้ fastcgi ก็พอจะช่วยได้บ้าง แต่ที่ผมใช้อยู่จะเลี่ยงมาทาง prefork+eaccelerator หรือ prefork+apc จะง่ายกว่า สุดท้ายก็มาตันที่ mysql อยู่ดี