Menggunakan Memcache Secara Efektif dengan Drupal 7 Multisite

12

Saya menetapkan rasio hit sebesar 55% pada instance memcache kami (v1.4.4) dan saya bertanya-tanya apa yang dapat dilakukan untuk meningkatkan rasio hit. Kami berada dalam pengaturan multisite (30+ situs), dengan dua server web yang seimbang; ada contoh memcached pada setiap server web.

Dalam settings.php, saya punya:

$conf['memcache_servers'] = array(
         '11.22.33.44:11211' => 'default',
         '11.22.33.45:11211' => 'default',
      );
$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];

Saya melihat menggunakan nampan untuk meningkatkan rasio hit, tetapi saya telah menemukan beberapa saran bahwa modul memcache terbaru sudah melakukan ini, tetapi saya tidak yakin karena petunjuk dengan modul berisi petunjuk tentang cara mengatur nampan.

Jika tempat sampah yang mereka tuju, bagaimana Anda menentukan (tabel?) Apa yang perlu memiliki tempat sampah sendiri? Ini adalah tabel cache yang saya miliki di situs saya:

cache
cache_admin_menu (empty)
cache_block (empty)
cache_bootstrap
cache_field
cache_filter (empty)
cache_form (empty)
cache_image (empty)
cache_media_xml (empty)
cache_menu
cache_page (empty)
cache_path (empty)
cache_token (empty)
cache_update (empty)
cache_views
cache_views_data (empty)
ctools_css_cache (empty)
ctools_object_cache (empty)

Selain sampah, apa lagi yang bisa saya lakukan untuk meningkatkan penggunaan memcached?

Terimakasih banyak!

KM.
sumber
30 + situs? Bisakah Anda berbagi rincian Lingkungan, mem PHP dan MySql max_allowed_packet, saya juga berencana untuk meluncurkan banyak sub situs, sudah memiliki 4 rencana untuk memiliki 10, tetapi tidak yakin apakah drupal dapat mengatasinya.
GoodSp33d
@Kantu - Saya ingin menyimpan utas ini tentang memcached dengan Drupal. Jika Anda mengirim pertanyaan baru, saya akan senang menimbang ... atau memeriksa diskusi serupa di sini atau di drupal.org.
KM.
Saya hanya ingin tahu konfigurasi server Anda, karena menjalankan 30 sub situs sangat jarang
GoodSp33d

Jawaban:

13

Setelah banyak penelitian, inilah yang telah membantu rasio hit kami dan penggunaan memcached:

  • Memcached upgrade ke 1.4.10 (versi terbaru dengan peningkatan kinerja)
  • Diaktifkan format dan kompresi biner
  • Gunakan default untuk nampan

Conf memcached kami di settings.php terlihat seperti ini sekarang:

$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_options'] = array(
  Memcached::OPT_COMPRESSION => TRUE,
  Memcached::OPT_BINARY_PROTOCOL => TRUE,
  );
$conf['memcache_persistent'] = TRUE;
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];

Keuntungan Terbesar

Keuntungan terbesar bagi kami adalah memungkinkan kompresi, meskipun dokumentasi menyatakan bahwa ini meningkatkan siklus CPU. Kami memiliki 4 CPU yang dialokasikan untuk VM kami, dan belum melihat perbedaan. Waktu untuk panggilan memcached berubah dari ~ 1250ms ke ~ 150ms (diperoleh dari NewRelic) untuk membuat konten (Artikel khusus dalam kasus kami).

Hit Ratio

Hit rasio kami sekarang ~ 70% - jauh lebih baik dari 55% sebelumnya, tapi tidak sepi 90% + yang dilaporkan beberapa orang ... pencarian berlanjut (-:

Semoga ini bisa membantu orang lain. Jika Anda menemukan perbaikan lain atau memiliki koreksi / saran, silakan kirim komentar atau jawaban.

Perbarui - Versi modul memcahe

Kami beralih dari versi 1.0-beta4 ke 1.0 dan rasio hit kami sekarang adalah 87%. Saya harus memulai kembali memcached karena rasio hit tidak akan melewati 70%. Kami memiliki 64MB dialokasikan untuk memcached saat ini, jadi ini bukan masalah besar bagi kami.

KM.
sumber
1
Saya akan mengatur awalan kunci untuk sesuatu yang dikodekan dan tidak bergantung pada nama server yang diberikan. Misalnya jika seseorang mengakses situs Anda dengan atau tanpa www. (yang mungkin Anda redirect atau sesuatu, hanya sebuah contoh), Anda akan berakhir dengan awalan kunci yang berbeda untuk cache. Anda harus mengubah setting.php untuk setiap situs.
Berdir
1
Juga, hit rate sangat tergantung pada situs Anda .. jika Anda memiliki banyak cache eksplisit menghapus atau jika memcache berjalan penuh dan harus membuang barang secara teratur, maka hit rate Anda jelas akan turun.
Berdir
Terima kasih telah menimbang di @Berdir. Saya sudah memeriksa lempengan dan sejauh ini nama server sebagai kunci belum menjadi masalah, tapi saya bisa melihat di mana itu bisa. Penggusuran rendah ~ 170 dan memiliki 25% (~ 17MB) kamar tersisa di memcached. Apakah ada cara untuk melacak penyebab 30% cache hilang? Cache membersihkan atau sesuatu yang lain ...?
KM.
Tidak mudah. Pada saat cache gagal, Anda tidak dapat mereproduksi apa yang terjadi dengannya. Apa yang bisa Anda coba adalah panggilan cache cache yang jelas termasuk jejak balik untuk melihat dari mana mereka berasal tetapi tidak yakin apakah itu akan banyak membantu.
Berdir