Situs Drupal 7 yang tidak dioptimalkan dengan 2 GB RAM dapat melayani sekitar 20-25 permintaan per detik dengan memuaskan. Jika Anda ingin melampaui itu, situs akan memerlukan beberapa penyesuaian. Apa yang Anda sesuaikan tergantung pada apakah sebagian besar pengguna di situs tersebut anonim atau dikonfirmasi. Berikut adalah hal-hal utama yang dapat Anda lakukan untuk peningkatan kinerja:
Situs melayani sebagian besar pengguna anonim:
1) Pasti menginstal dan mengkonfigurasi APC, memcache dan entitascache.
2) Letakkan proxy Varnish di depan server web. Diperlukan sekitar 30 menit untuk menginstal dan mengonfigurasi tetapi secara dramatis akan menurunkan waktu pemuatan halaman Anda. Bahkan, Varnish dapat menangani sekitar 300 permintaan per detik pada mesin 2 GB jika semua halaman di-cache. Gunakan modul Kedaluwarsa untuk hanya kedaluwarsa halaman yang dipilih pada pembaruan / penghapusan konten.
3) Gunakan modul Advanced CSS / JS Aggregation untuk mengagregasi file CSS dan JS. Coba pindahkan semua file JS ke bagian bawah halaman. Tetapi perhatikan bahwa ini dapat merusak situs Anda, jadi implementasikan ini pada produksi setelah pengujian menyeluruh. Juga bereksperimen dengan inlining CSS kritis. Dalam pengalaman saya, ini akan mengurangi waktu pemuatan halaman sekitar setengah detik.
4) CSS / JS / gambar harus memiliki header kedaluwarsa yang jauh di masa depan. Ini akan memastikan bahwa browser tidak akan meminta CSS / JS / gambar yang sama lagi dan lagi.
5) Pastikan server web melayani halaman terkompresi / CSS / JS.
Setelah menerapkan 5 langkah di atas, server RAM 2 GB Anda harus dapat mem-server 50 permintaan per detik dengan cukup mudah.
Situs melayani sebagian besar pengguna terautentikasi:
Mengoptimalkan situs semacam itu lebih kompleks. Situs-situs tersebut termasuk dalam salah satu dari dua sub-kategori untuk keperluan optimasi:
(a) Sebagian besar halaman di situs identik kecuali 1 atau 2 blok yang memiliki informasi spesifik pengguna. Untuk misalnya situs Drupal Commerce.
(B) Sebagian besar halaman sepenuhnya disesuaikan untuk pengguna. Untuk misalnya situs Drupal Commons.
Jika situs Anda termasuk dalam kategori (a), maka terapkan sebagian besar teknik yang kami diskusikan untuk situs yang melayani sebagian besar pengguna anonim. Satu-satunya perbedaan adalah bahwa untuk halaman non-admin, Varnish perlu menghapus cookie SESSION dari header dan melayani halaman dalam cache. Gunakan modul Blok AJAX ke blok server dengan informasi khusus pengguna menggunakan AJAX. Dengan cara ini sebagian besar halaman akan disajikan dengan sangat cepat menggunakan Varnish dan kemudian informasi spesifik pengguna akan dilayani melalui AJAX.
Jika situs Anda termasuk dalam kategori (b), maka gunakan modul Authcache. Saya lebih suka tidak menggunakannya sebanyak mungkin karena memerlukan sedikit konfigurasi dan pemeliharaan. Tapi itu bekerja dengan sangat baik. Ini tidak akan secepat menggunakan Varnish tetapi akan dapat menangani 50 permintaan per detik yang Anda cari.
Jika Anda ingin melampaui apa yang telah kami bahas di sini, lihat Daftar Periksa Pengoptimalan Kinerja Drupal . Pengungkapan: Ini ditulis oleh saya. Itu mengutip daftar lengkap hal-hal yang dapat Anda lakukan untuk membuat situs Drupal Anda menyala cepat.