วิธีกำหนดค่าเซิร์ฟเวอร์ที่มีหน่วยความจำ 4 กรัมเพื่อเรียกใช้ drupal 7


9

ฉันกำลังติดตั้ง Drupal 7 บนเซิร์ฟเวอร์ใหม่ที่มีหน่วยความจำ 4 GB ฉันต้องการรับคำแนะนำเกี่ยวกับวิธีการกำหนดค่าอย่างถูกต้องจำนวนหน่วยความจำที่มอบให้กับ MySQL และจำนวนหน่วยความจำที่จะมอบให้กับ PHP สิ่งหนึ่งที่ฉันพบคือการใช้ Drupal 7 บนเซิร์ฟเวอร์ Zend นั้นเร็วกว่าการรันบนเซิร์ฟเวอร์ Apache ปกติสามเท่า (ฉันคิดว่ามันเกี่ยวข้องกับการทำ opcode caching) ฉันสังเกตเห็นด้วยโมดูล devel ซึ่งใช้หน่วยความจำหนึ่งในสาม

คุณสามารถแชร์การกำหนดค่าของคุณกับฉันได้ไหม

คำตอบ:


5

หากคุณมีข้อมูล Drupal7 อยู่แล้วคุณควรโหลดข้อมูลลงในสภาพแวดล้อมการจัดเตรียมและดำเนินการปรับขนาดบัฟเฟอร์ตามจำนวนข้อมูลที่คุณมี

ขั้นตอนที่ 1) คุณต้องคำนวณขนาดบัฟเฟอร์สำหรับชุดข้อมูลของคุณก่อน

ขั้นตอนที่ 2) หากขนาดที่แนะนำเกิน 75% ของ RAM ที่ติดตั้ง (ในกรณีที่คุณ 3GB) ให้ใส่บัฟเฟอร์ที่จำเป็นที่ 3GB

ขั้นตอนที่ 3) หากคุณมีข้อมูล InnoDB และคุณไม่ได้เปิดใช้งาน innodb_file_per_table คุณจะต้องล้างข้อมูล InnoDB โดยแบ่งกลุ่มแต่ละตารางให้เป็นตารางทางกายภาพจริง (ต้องดำเนินการเพียงครั้งเดียวเท่านั้น)

เมื่อคุณทำสิ่งนี้แล้วคุณควรวางแผนที่จะทำการตรวจสอบการกำหนดค่า (ขั้นตอนที่ 1 และ 2) ทุก ๆ 6 เดือนเพื่อให้แน่ใจว่าคุณมีการแคช MySQL ที่เหมาะสม

ที่น่าสนใจผมส่งคำถามลักษณะนี้และตอบได้ใน 15 เมษายน 2011


4

บางสิ่งที่ต้องดู :

บทความที่อ่าน :

Rackspace's: การปรับใช้ Drupal ในคลาวด์ด้วย nginx และบูสเตอร์ควรให้แนวคิดมากมาย

พูดเล็ก ๆ เกี่ยวกับการแคช opcode:

เราใช้ APC เป็นแคช opcode การทำเช่นนี้จะช่วยประหยัดเซิร์ฟเวอร์จากการรวบรวมรหัส PHP ซ้ำทุกครั้งที่โหลดหน้าเว็บ ยิ่งไปกว่านั้นสิ่งทั้งหมดนั้นเข้ากันได้ดีกับ RAM (โดยทั่วไปเราให้ RAM APC 128MB) นี่เป็นการลดการใช้งาน CPU อย่างมาก ผู้ใช้ที่ลงชื่อเข้าใช้สามารถเรียกดูไซต์ได้เร็วขึ้นมาก แต่เราสามารถจัดการได้ในจำนวนที่ จำกัด เท่านั้น เราทำได้ดีกว่านี้เล็กน้อย แทนที่จะสืบค้น MySQL ทุกครั้งที่เราไปที่แคชเราสามารถเก็บตารางเหล่านี้ไว้ในหน่วยความจำ ที่นี่ memcached และโมดูล cacherouter มา


2

ฉันเริ่มด้วย my_huge conf จากไดเรกทอรี mysql; ฉันยังเพิ่มวานิชแคชในการผสม ตามที่คุณค้นพบแล้ว Zend ปรับปรุงประสิทธิภาพให้ดีขึ้น

หลังจากทำงานไปสองสามวันฉันก็รันสคริปต์ mysqltuner และทำตามคำแนะนำบางอย่างโดยเฉพาะอย่างยิ่งเกี่ยวกับแคชชั่วคราวของตาราง


1

ขึ้นอยู่กับขนาดของไซต์คุณอาจต้องการดู memcached เช่นกัน สิ่งนี้จะแย่งชิงทรัพยากรด้วย mysql แต่สามารถลดภาระได้


ที่จริงแล้วคุณสามารถลดขนาด InnoDB Buffer Pool และ MyISAM Key Cache หาก memcached มีขนาดใหญ่พอ ด้วยวิธีนี้ memcached ไม่ได้แข่งขันกับ mysql แต่ mysql จะเสริม memcached ให้เป็น data conduit แทนที่จะเป็นฐานข้อมูลหลัก +1 สำหรับการแนะนำ memcached ก่อน !!!
RolandoMySQLDBA
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.