Apakah modul yang tidak diaktifkan memengaruhi kinerja?


Apakah memiliki modul Drupal hadir, tetapi tidak diaktifkan memiliki efek pada kinerja situs Drupal?

Dengan kata lain .. Apakah menghapus modul yang dinonaktifkan dari situs Drupal berdampak positif pada kinerja?

Jawaban:


Umumnya tidak, itu tidak akan mempengaruhi kinerja - kecuali ketika Anda melihat halaman pemilihan Modul Anda (admin / build / modul atau admin / modul). Modul yang dinonaktifkan tidak dimuat ke dalam memori dan tidak pernah dieksekusi.


24
Yang sedang berkata, modul yang dinonaktifkan masih meninggalkan variabel dan tabel database sehingga modul dapat diaktifkan kembali tanpa kehilangan data. Jika Anda tidak berencana menggunakan modul yang dinonaktifkan lagi, Anda harus menghapus modul melalui admin / build / modules / uninstall di D6 atau admin / modules / uninstall di D7.
Dave Reid

1
Saya kira ini bisa menjadi salah satu contoh modul yang menambahkan kolom ke tabel simpul, drupal.org/project/quickstats, jadi saya kira jika Anda tidak membatalkan modul, ini akan mewakili konsumsi sumber daya yang tidak perlu (mungkin minimal? ) ke modul lain ketika menarik informasi node.
cigotete

Iya. Bisa.

Terlepas dari apa yang dikatakan orang lain, ada beberapa situasi di mana kinerja akan turun.

  1. Dinonaktifkan, dan modul yang tidak di-uninstall dengan benar dapat memiliki efek parah pada kinerja: variabel untuk modul tidak dihapus dan akan dimuat di setiap pagerequest. Lokal untuk modul (jika Anda menggunakan situs yang diterjemahkan) tidak dihapus dan menyebabkan overhead pada tabel-database yang sudah rumit.
  2. Drupal menggunakan tabel sistem sebagai caching untuk menghindari pencarian di filesystem untuk modul. Semakin banyak entri yang ada di tabel itu, semakin lambat itu. Efek ini agak kecil, karena tabel sistem diindeks dengan cukup baik. Namun, cache-clears dan mengunjungi halaman admin menyebabkan tabel ini dibangun kembali. Membangun kembali tabel dengan 200+ modul yang tidak digunakan sekitar 25 kali lebih lambat daripada tanpa modul yang tidak digunakan. Jumlah pembangunan kembali tabel ini bisa sangat tinggi dalam beberapa situasi aneh, selama pengembangan dan sebagainya.

Modul yang tidak digunakan tidak menggunakan lebih banyak memori selain saat membangun kembali tabel sistem. Modul yang tidak digunakan tidak menyebabkan lebih banyak atau lebih lambat pencarian di sistem file Anda, selain itu selama membangun kembali tabel sistem. Jika Anda pergi di atas X-ribuan modul, maka sistem file itu sendiri dapat menyebabkan masalah.


5
Modul yang dinonaktifkan belum tentu modul yang tidak dihapus dengan benar: Saya dapat menonaktifkan modul untuk menghindari halaman pengaturannya muncul, dan bukan karena saya ingin menghapusnya. Sebagai contoh, pada Drupal.org Views UI hanya diaktifkan ketika seseorang perlu mengedit tampilan, dan kemudian dinonaktifkan setelah pengeditan tampilan selesai.
kiamlaluno

3
Selain itu, jika Anda memiliki devel / admin_menu diinstal, Anda memiliki jalan pintas yang bagus untuk 'Nonaktifkan modul pengembang,' yang menonaktifkan hal-hal seperti Tampilan UI, UI Aturan, UI Bidang, dll. Yang tidak diperlukan untuk situs produksi yang berjalan normal. Ini dapat menghemat beberapa MB di setiap utas PHP / Apache pada mesin LAMP normal!
geerlingguy

5
Saya sadar bahwa modul yang tidak diaktifkan tidak akan menjadi modul yang pernah dinonaktifkan. Contoh view dan devel-like module Anda membuktikan poin saya: ketika Anda menonaktifkan views-ui tabel lokal Anda dan tabel varaibles Anda adalah / berserakan / dengan serat yang dimuat dan dievaluasi pada setiap halaman. Saya baru-baru ini membersihkan sebuah situs di mana kami memiliki 5MB (!) Dan hampir 60MB (!) Variabel sisa dan string lokal yang tidak digunakan, sisa dari modul yang lama dan tidak lagi digunakan. Menyebabkan pencarian lokal menjadi permintaan lambat dan menyebabkan memori tambahan 5 MB pada setiap pageload.
Berkel

Jika saya menonaktifkan Tampilan UI, itu karena saya masih ingin menggunakannya; hanya saja saya tidak ingin itu diaktifkan ketika saya tidak membutuhkannya. Dalam hal itu, menghapus semua variabel Drupal untuk modul itu akan memiliki efek negatif mengatur ulang semua pengaturan yang saya ubah. Bukan itu yang saya inginkan. Modul yang tidak diaktifkan adalah modul yang dinonaktifkan. Tampaknya Anda mengacaukan modul yang dihapus dengan modul yang dinonaktifkan, di mana yang terakhir adalah modul yang saya nonaktifkan karena saya menggunakannya dalam situasi tertentu, seperti Tampilan UI yang benar-benar diperlukan saat mengedit tampilan; Saya tidak membutuhkannya dalam kasus lain.
kiamlaluno

2
Saat Anda menggunakan tampilan UI seperti yang Anda jelaskan: dinonaktifkan dengan opsi untuk menggunakannya sesuka hati; itu berpengaruh pada kinerja . Itulah yang diminta OP. Dan ternyata begitulah cara orang menggunakannya (setidaknya Anda lakukan). Jadi, kesimpulannya adalah modul yang dinonaktifkan dapat memiliki dampak kinerja; terutama jika Anda memilih untuk tidak menghapus seluruhnya; dan selalu jika mereka tidak mencopot diri mereka dengan baik
Berkel

Dengan terinstal, saya kira maksud Anda di dalam folder drupal modules ("sites / all / modules" atau "sites / yoursite.com / modules"), kan?

Jika demikian, modul yang dinonaktifkan tidak akan memengaruhi kinerja sama sekali, hanya ketika Anda mengunjungi halaman "admin / build / modules" Anda. Drupal membangun kembali cache dari beberapa elemen modul (seperti hook_menu ).


Dari pengalaman saya, penurunan kinerja dari modul yang dinonaktifkan dapat diabaikan (dan relatif, 4000 modul yang dinonaktifkan mungkin membuat segalanya sedikit lebih lambat dari 30 modul yang dinonaktifkan, dll.)

Secara pribadi, saya hanya lebih khawatir tentang kode yang tidak terpakai (dan mungkin sudah ketinggalan zaman) duduk di repo dan dir web saya, tapi saya secara analitis suka seperti itu.


Secara teknis tidak dan ya. Moduel yang dinonaktifkan normal tidak dimuat dalam memori, sehingga tidak akan memengaruhi kinerja situs. Tetapi jika modul yang dinonaktifkan memiliki banyak data dalam variabel, maka disarankan untuk menghapus instalannya sehingga memori menjadi bebas.


Menghapus kode modul yang dinonaktifkan mungkin tidak berpengaruh pada situs.

Kemudian lagi, jika Anda menginstal modul di beberapa titik, itu akan mengisi database dengan beberapa tabel. Jadi semakin banyak modul yang Anda instal, semakin besar peluang untuk memengaruhi kinerja basis data.

Menghapus instalasi modul akan menghapus tabel yang tidak perlu itu.

Sekali lagi, kinerja tergantung pada jumlah modul yang telah Anda instal.


Modul yang dinonaktifkan yang tidak dihapus instalasinya tetapi dihapus secara fisik dari sistem folder akan berdampak buruk pada kinerja situs. Saya punya 5 modul seperti itu dan karena itu, ada 10.000 panggilan tambahan untuk fungsi is_dir (). Saya menggunakan modul missing_modules (missing_module) untuk mengidentifikasi modul yang hilang dan memperbaiki masalah dalam database.


Tidak terinstal dan dinonaktifkan tidak akan berpengaruh pada kinerja.

Tetapi jika modul dinonaktifkan hanya maka mungkin memiliki beberapa tabel yang terkait sehingga mereka adalah beban tambahan pada database drupal.

Dan seperti yang dikatakan sebelumnya akan ada beberapa masalah kinerja yang signifikan pada halaman modul drupal. Banyak kali halaman ini tidak dimuat dan membutuhkan banyak waktu karena semua modul yang diinstal / dihapus ditampilkan di sana.

Jadi untuk mengatasi situasi ini kita harus menghapus secara fisik modul yang tidak digunakan dari / sites / all / modules / drive.


1
"Tidak diinstal dan dinonaktifkan tidak akan berpengaruh pada kinerja." - dalam kasus tertentu mereka bisa. Terutama kinerja tindakan admin. Tidak hanya halaman "modul", beberapa modul untuk terjemahan atau tinjauan kode berfungsi pada modul yang tidak diaktifkan juga. Dan ada beberapa hal kecil seperti kinerja sistem file.
Mołot

Modul yang dinonaktifkan tidak memengaruhi kinerja situs drupal.

Tetapi disarankan untuk tidak mengunduh modul yang tidak akan berguna untuk situs Anda.

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.