Cara mengkonfigurasi server dengan memori 4g untuk menjalankan drupal 7

9

Saya menginstal Drupal 7 di server baru dengan memori 4 GB. Saya ingin mendapatkan beberapa petunjuk tentang cara mengkonfigurasinya dengan benar, berapa banyak memori untuk diberikan ke MySQL, dan berapa banyak memori untuk diberikan ke PHP. Satu hal yang saya temukan adalah menjalankan Drupal 7 di server Zend tiga kali lebih cepat daripada menjalankannya di server Apache biasa. (Saya pikir ini ada hubungannya dengan opcode caching. Saya perhatikan dengan devel module menggunakan sepertiga dari memori.

Bisakah Anda berbagi konfigurasi dengan saya?

Nicola Peluchetti
sumber

Jawaban:

5

Jika Anda sudah memiliki data Drupal7, Anda harus memuatnya ke lingkungan pementasan dan melakukan beberapa ukuran buffer berdasarkan jumlah data yang Anda miliki.

Langkah 1) Anda harus terlebih dahulu menghitung ukuran buffer untuk dataset Anda .

Langkah 2) Jika ukuran yang disarankan melebihi 75% dari RAM terpasang Anda (jika Anda 3GB) maka tutup buffer yang diperlukan sebesar 3GB.

Langkah 3) Jika Anda memiliki data InnoDB dan Anda tidak mengaktifkan innodb_file_per_table, Anda perlu membersihkan InnoDB dengan mengelompokkan setiap tabel ke dalam tablespace fisiknya sendiri (ini hanya perlu dilakukan sekali) .

Setelah Anda melakukan ini, Anda harus merencanakan untuk melakukan audit konfigurasi ini (Langkah 1 dan 2) setiap 6 bulan untuk memastikan Anda memiliki caching MySQL yang tepat.

Menariknya, saya menjawab pertanyaan yang mirip dengan ini dan menjawabnya pada 15 April 2011 .

RolandoMySQLDBA
sumber
4

Beberapa hal untuk dilihat :

Artikel untuk dibaca :

Rackspace's: Menyebarkan Drupal di cloud dengan nginx dan boost akan memberi Anda banyak ide.

Kutipan kecil tentang cache opcode:

Kami menggunakan APC sebagai cache opcode. Ini menyelamatkan server dari mengkompilasi ulang kode PHP pada setiap pemuatan halaman. Selain itu, semuanya cocok dengan mudah di RAM (kami biasanya memberikan APC 128MB RAM). Ini secara drastis mengurangi penggunaan CPU. Pengguna yang masuk sekarang dapat menjelajahi situs lebih cepat. Tetapi kita masih bisa menangani jumlah mereka yang terbatas. Kita bisa melakukan sedikit lebih baik. Alih-alih meminta MySQL setiap kali kita masuk ke cache, kita dapat menyimpan tabel ini dalam memori. Di sini datang memcached dan modul cacherouter.

Bart
sumber
2

Saya mulai dengan conf my_huge dari direktori mysql; Saya juga menambahkan cache Varnish ke dalam campuran. Seperti yang sudah Anda ketahui, Zend meningkatkan banyak kinerja.

Setelah berjalan selama beberapa hari, saya menjalankan skrip mysqltuner dan menindaklanjuti beberapa rekomendasi, terutama tentang cache temp-table.

marksward
sumber
1

Tergantung pada ukuran situs Anda mungkin ingin melihat memcached juga. Ini akan bersaing untuk sumber daya dengan mysql tetapi dapat mengurangi beban di atasnya.

Jeremy French
sumber
Sebenarnya, Anda dapat memperkecil Buffer Pool InnoDB dan MyISAM Key Cache jika memcached cukup besar. Dengan cara itu, memcached tidak bersaing dengan mysql, tetapi mysql hanya akan melengkapi memcached sebagai saluran data daripada sebagai basis data utama. +1 untuk menyarankan memcached terlebih dahulu !!!
RolandoMySQLDBA