Apakah memiliki lebih banyak modul yang diaktifkan membuat situs lebih lambat?


13

Apakah memiliki lebih banyak modul yang diaktifkan membuat situs lebih lambat?
Saya telah menginstal 30 modul untuk situs saya, dan saya khawatir itu akan menjadi terlalu lambat.

Jawaban:


11

Memiliki modul yang lebih aktif membuat bootstrap Drupal lebih lambat, karena lebih banyak file dimuat dan diuraikan. Selain itu, memiliki lebih banyak modul yang diaktifkan tidak secara otomatis berarti memiliki situs yang lebih lambat, karena tidak semua modul mengeksekusi kode untuk setiap halaman yang diminta.

Misalnya, jika Anda telah menginstal Views dan Anda hanya mengaktifkan tampilan halaman depan, Views tidak akan dieksekusi ketika halaman yang diminta adalah halaman node. Meskipun, modul Views mengimplementasikan hook_menu_alter(), dan itu dijalankan bahkan jika Anda belum mengaktifkan tampilan apa pun, tetapi modul Views diaktifkan. Setiap implementasi hook_menu_alter()dipanggil ketika menu dibangun kembali, dan itu biasanya tidak terjadi pada setiap permintaan halaman.


6
Memiliki banyak modul yang melakukan "tidak ada" tidak membuat situs sedikit lebih lambat. Itu harus dilakukan dengan cara sistem kait bekerja; Drupal melakukan panggilan module_hook untuk setiap modul yang dipasang, setiap kali kait dijalankan. Semua cek ini dapat bertambah. Di situs kami, module_hook dipanggil 13.000 kali dan butuh 168ms; setiap sedikit bertambah.
mikeytown2

15

Iya. Namun, 30 tidak perlu dikhawatirkan. Anda dalam masalah ketika Anda melampaui 100;)

Instal cache bytecode (APC atau XCache) untuk menghilangkan sebagian besar pelambatan termasuk banyak file, dan pastikan untuk secara berkala menghapus modul yang tidak digunakan (biasanya setiap proyek mengumpulkan modul yang tidak digunakan di beberapa titik selama pengembangan)


Saya melihat bahwa Commerce Kickstart menggunakan 96 modul contrib.
Pere

Menginstal XCache membuat halaman saya di-render dalam waktu setengah. Terima kasih.
cherouvim

1

Sebagai pelengkap dari kedua tanggapan @Bojan Zivanovic & @kiamlaluno yang tepat Anda harus peduli dengan interaksi modul. Memiliki banyak modul meningkatkan risiko interaksi modul buruk (seperti interaksi obat). Saya akan mengatakan memiliki lebih dari 50 modul menjadi berbahaya, dan Anda harus memeriksa lebih awal bahwa Anda tidak menggunakan beberapa modul untuk domain tugas yang sama.

Sebagai contoh, membangun halaman dengan blok, tampilan, panel, bidang yang berisi tampilan, blok yang berisi tampilan, blok yang berisi panel yang berisi tampilan ... Idenya adalah untuk mendapatkan sesuatu yang dapat dipahami oleh otak normal (bagaimana halaman berbeda saya disusun) . Ini dapat berdampak besar pada kinerja ketika beberapa perilaku pemuatan kompleks disembunyikan dan dirantai. Contoh lain adalah menambahkan beberapa aturan ACL dari beberapa modul untuk setiap konten.

Jika Anda takut kinerja, selalu gunakan modul profil dan lacak perbedaan setelah setiap penambahan modul baru. Kadang-kadang sebuah kait kecil dengan beberapa SQL di dalamnya atau templat khusus akan menghemat waktu situs web Anda.


Apakah drupal dibuat untuk "otak normal"? :)
pico34

1

tiga hal yang perlu diingat selama membangun situs yang dapat mempercepat situs drupal Anda adalah:

  1. Kurangi jumlah modul
  2. Periksa log permintaan mySQL Anda untuk pertanyaan lambat dan tweak kode / tambahkan indeks yang diperlukan.
  3. Caching (dan berharap sebagian besar pengguna Anda tidak diautentikasi)

dan mengenai bagian modul jelas lebih banyak jumlah modul lebih lambat kecepatannya, karena mereka membutuhkan RAM yang lebih besar untuk diproses ..

masih 30 hingga 60 modul tidak akan terlalu mempengaruhi situs Anda.

rasio waktu pemuatan situs dan jumlah modul seperti 100 modul akan menunda situs sebesar 350 ms hingga 650 ms.

berharap untuk situs Anda berikutnya Anda wuold menjaga poin-poin dalam pikiran .. :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.