Các mô-đun không kích hoạt có ảnh hưởng đến hiệu suất?


91

Có các mô-đun Drupal hiện diện, nhưng không được kích hoạt có ảnh hưởng gì đến hiệu suất của trang web Drupal không?

Nói cách khác .. Việc loại bỏ các mô-đun bị vô hiệu hóa khỏi trang web Drupal có ảnh hưởng tích cực đến hiệu suất không?

Câu trả lời:


97

Nói chung, không, nó sẽ không ảnh hưởng đến hiệu suất - ngoại trừ khi bạn đang xem trang lựa chọn Mô-đun của mình (admin / build / module hoặc admin / module). Các mô-đun bị vô hiệu hóa không được tải vào bộ nhớ và không bao giờ được thực thi.


24
Điều đó đang được nói, các mô-đun bị vô hiệu hóa vẫn để lại các biến và bảng cơ sở dữ liệu để mô-đun có thể được kích hoạt lại mà không mất dữ liệu. Nếu bạn không có kế hoạch sử dụng lại mô-đun bị vô hiệu hóa, bạn nên gỡ cài đặt mô-đun thông qua quản trị / xây dựng / mô-đun / gỡ cài đặt trong D6 hoặc quản trị / mô-đun / gỡ cài đặt trong D7.
Dave Reid

1
Tôi đoán rằng đây có thể là một ví dụ về mô-đun thêm cột vào bảng nút, drupal.org/project/quickstats vì vậy tôi đoán rằng nếu bạn không mở mô-đun, điều này sẽ thể hiện mức tiêu thụ tài nguyên cần thiết (có thể là tối thiểu? ) đến các mô-đun khác khi kéo thông tin nút.
cigotete

62

Đúng. Nó có thể.

Bất chấp những gì người khác nói, có một số tình huống trong đó hiệu suất sẽ đi xuống.

  1. Các mô-đun bị vô hiệu hóa và không được gỡ cài đặt đúng cách có thể có ảnh hưởng nghiêm trọng đến hiệu suất: các biến cho một mô-đun không bị xóa và sẽ được tải ở mỗi lần truy cập. Vị trí cho một mô-đun (trong trường hợp bạn sử dụng một trang web được dịch) sẽ không bị xóa và gây ra chi phí trên một bảng cơ sở dữ liệu đã cồng kềnh.
  2. Drupal sử dụng bảng hệ thống làm bộ đệm để tránh tra cứu trong hệ thống tệp cho các mô-đun. Càng có nhiều mục trong bảng đó, nó sẽ càng chậm. Hiệu ứng này khá nhỏ, vì bảng hệ thống được lập chỉ mục khá tốt. Tuy nhiên, xóa bộ nhớ cache và truy cập các trang quản trị khiến bảng này được xây dựng lại. Việc xây dựng lại bảng với hơn 200 mô-đun không sử dụng chậm hơn khoảng 25 lần so với không có mô-đun không sử dụng. Số lượng xây dựng lại của bảng này có thể khá cao trong một số tình huống kỳ lạ, trong quá trình phát triển và như vậy.

Các mô-đun không sử dụng không sử dụng nhiều bộ nhớ khác sau đó trong quá trình xây dựng lại bảng hệ thống. Các mô-đun không được sử dụng không gây ra nhiều hoặc chậm tìm kiếm trên hệ thống tệp của bạn, sau đó trong quá trình xây dựng lại bảng hệ thống. Nếu bạn vượt lên trên hàng ngàn mô-đun, thì chính hệ thống tệp có thể gây rắc rối.


5
Các mô-đun bị vô hiệu hóa không nhất thiết không phải là các mô-đun được gỡ cài đặt đúng cách: Tôi có thể vô hiệu hóa một mô-đun để tránh các trang cài đặt của nó xuất hiện, và không phải vì tôi muốn gỡ cài đặt nó. Ví dụ: trên Drupal.org Lượt xem UI chỉ được bật khi ai đó cần chỉnh sửa chế độ xem và sau đó nó bị vô hiệu hóa sau khi chỉnh sửa chế độ xem được thực hiện.
kiamlaluno

3
Ngoài ra, nếu bạn đã cài đặt devel / admin_menu, bạn có một phím tắt đẹp để 'Vô hiệu hóa các mô-đun nhà phát triển', vô hiệu hóa những thứ như UI UI, Rules UI, Field UI, v.v. không cần thiết cho các trang web sản xuất chạy bình thường. Điều này có thể tiết kiệm một vài MB trong mỗi luồng PHP / Apache trên máy LAMP bình thường!
geummingguy

5
Tôi biết rằng một mô-đun không được kích hoạt không phải là một mô-đun đã từng bị vô hiệu hóa. Ví dụ về các khung nhìn và các mô-đun tương tự của bạn chứng minh quan điểm của tôi: khi bạn vô hiệu hóa các khung nhìn-ui bảng địa phương của bạn và bảng thay đổi của bạn là / xả rác / với lint được tải và đánh giá trên mỗi trang. Gần đây tôi đã dọn sạch một trang web nơi chúng tôi có 5 MB (!) Và gần 60 MB (!) Các biến còn lại và các chuỗi miền địa phương không sử dụng, còn sót lại từ các mô-đun cũ và không còn sử dụng. Làm cho việc tra cứu cục bộ trở thành các truy vấn chậm và gây ra 5Mb bộ nhớ thêm trên mỗi lần tải.
berkes

Nếu tôi tắt UI UI, đó là vì tôi vẫn muốn sử dụng nó; chỉ là tôi không muốn nó được kích hoạt khi tôi không cần nó. Trong trường hợp đó, việc xóa tất cả các biến Drupal cho mô-đun đó sẽ có tác động tiêu cực khi đặt lại tất cả các cài đặt tôi đã thay đổi. Đó không phải là điều tôi muốn. Một mô-đun không được kích hoạt là một mô-đun bị vô hiệu hóa. Có vẻ như bạn đang nhầm lẫn một mô-đun đã gỡ cài đặt với một mô-đun bị vô hiệu hóa, trong đó mô-đun sau là mô-đun tôi bị vô hiệu hóa vì tôi sử dụng nó trong các tình huống cụ thể, như Giao diện người dùng thực sự cần thiết khi chỉnh sửa chế độ xem; Tôi không cần nó trong các trường hợp khác.
kiamlaluno

2
Khi bạn sử dụng giao diện người dùng như bạn mô tả: bị vô hiệu hóa với tùy chọn sử dụng tùy ý; nó có ảnh hưởng đến hiệu suất . Đó là những gì OP yêu cầu. Và rõ ràng đó là cách mọi người sử dụng nó (ít nhất là bạn làm). Vì vậy, kết luận là các mô-đun bị vô hiệu hóa có thể có tác động hiệu suất; đặc biệt là nếu bạn chọn không loại bỏ chúng hoàn toàn; và luôn luôn nếu họ không tự gỡ cài đặt đúng cách
berkes

8

Với cài đặt, tôi cho rằng bạn có nghĩa là bên trong các mô-đun drupal của bạn ("trang web / tất cả / mô-đun" hoặc "trang web / yoursite.com / mô-đun"), phải không?

Nếu vậy, các mô-đun bị vô hiệu hóa hoàn toàn không ảnh hưởng đến hiệu suất, chỉ khi bạn truy cập trang "quản trị / xây dựng / mô-đun". Drupal xây dựng lại bộ đệm của một số thành phần mô-đun (như hook_menu ).


7

Theo kinh nghiệm của tôi, việc giảm hiệu suất từ ​​các mô-đun bị vô hiệu hóa là không đáng kể (và tương đối, 4000 mô-đun bị vô hiệu hóa có thể khiến mọi thứ chậm hơn một chút so với 30 mô-đun bị vô hiệu hóa, v.v.)

Cá nhân, tôi chỉ quan tâm nhiều hơn về mã không được sử dụng (và có lẽ đã lỗi thời) trong các trang web repo và web của tôi, nhưng tôi vẫn không ngừng như vậy.


4

Về mặt kỹ thuật không và có. Thông thường các modu bị vô hiệu hóa không tải trong bộ nhớ, vì vậy chúng sẽ không ảnh hưởng đến hiệu suất của trang web. Nhưng nếu các mô-đun bị vô hiệu hóa có nhiều dữ liệu trong các biến, thì nên gỡ cài đặt chúng để bộ nhớ được giải phóng.


3

Xóa mã của các mô-đun bị vô hiệu hóa có thể không có hiệu lực trên trang web.

Sau đó, một lần nữa, nếu bạn đã cài đặt một mô-đun tại một thời điểm nào đó, nó sẽ đưa vào cơ sở dữ liệu một vài bảng. Vì vậy, càng nhiều mô-đun bạn cài đặt, cơ hội ảnh hưởng đến hiệu suất cơ sở dữ liệu càng lớn.

Gỡ cài đặt mô-đun sẽ loại bỏ các bảng không cần thiết.

Một lần nữa, hiệu suất phụ thuộc vào số lượng mô-đun bạn đã cài đặt.


3

Các mô-đun bị vô hiệu hóa không được gỡ cài đặt nhưng bị xóa vật lý khỏi hệ thống thư mục sẽ ảnh hưởng xấu đến hiệu suất trang web. Tôi đã có 5 mô-đun như vậy và do đó, đã có thêm 10.000 cuộc gọi đến hàm is_dir (). Tôi đã sử dụng mô-đun mất_modules (mất_module) để xác định các mô-đun bị thiếu và khắc phục sự cố trong cơ sở dữ liệu.


1

Gỡ cài đặt và vô hiệu hóa sẽ không ảnh hưởng đến hiệu suất.

Nhưng nếu mô-đun chỉ bị vô hiệu hóa thì nó có thể có một số bảng được liên kết để chúng là gánh nặng thêm cho cơ sở dữ liệu drupal.

Và như đã nói trước đó, sẽ có một số vấn đề hiệu suất đáng kể trên trang mô-đun của drupal. Nhiều lần trang này không được tải và mất nhiều thời gian vì tất cả các mô-đun được cài đặt / gỡ cài đặt được hiển thị ở đó.

Vì vậy, để khắc phục tình trạng này, chúng ta nên loại bỏ các mô-đun không sử dụng khỏi / trang web / tất cả / mô-đun / ổ đĩa.


1
"Gỡ cài đặt và vô hiệu hóa sẽ không ảnh hưởng đến hiệu suất." - trong trường hợp cụ thể họ có thể. Đặc biệt là hiệu suất của các hành động quản trị. Không chỉ trang "mô-đun", một số mô-đun để dịch hoặc đánh giá mã cũng hoạt động trên các mô-đun không được bật. Và có những thứ nhỏ như hiệu năng hệ thống tập tin.
Mołot

1

Các mô-đun bị vô hiệu hóa không ảnh hưởng đến hiệu suất của trang web drupal.

Nhưng không nên tải xuống các mô-đun sẽ không được sử dụng cho trang web của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.