Có nhiều mô-đun kích hoạt làm cho trang web chậm hơn?


13

Có nhiều mô-đun kích hoạt làm cho trang web chậm hơn?
Tôi đã cài đặt 30 mô-đun cho trang web của mình và tôi sợ rằng nó sẽ trở nên quá chậm.

Câu trả lời:


11

Việc có nhiều mô-đun được kích hoạt làm cho việc khởi động Drupal chậm hơn, vì nhiều tệp được tải và phân tích cú pháp. Ngoài ra, việc có nhiều mô-đun được kích hoạt không tự động có nghĩa là có một trang web chậm hơn, vì không phải tất cả các mô-đun thực thi mã cho mỗi trang được yêu cầu.

Ví dụ: nếu bạn đã cài đặt Chế độ xem và bạn chỉ bật chế độ xem trang trước, thì Chế độ xem sẽ không được thực thi khi trang được yêu cầu là trang nút. Mặc dù, mô-đun Lượt xem thực hiện hook_menu_alter()và điều đó được thực thi ngay cả khi bạn chưa bật bất kỳ chế độ xem nào, nhưng mô-đun Lượt xem được bật. Bất kỳ triển khai nào hook_menu_alter()được gọi khi các menu được xây dựng lại và điều đó thường không xảy ra trên mỗi yêu cầu trang.


6
Có nhiều mô-đun "không có gì" làm cho trang web chậm hơn một chút. Nó phải làm theo cách mà hệ thống móc hoạt động; Drupal thực hiện một cuộc gọi module_hook cho mọi mô-đun được cài đặt, mỗi khi một hook được chạy. Tất cả các kiểm tra có thể thêm lên. Trên trang web của chúng tôi, module_hook được gọi 13.000 lần và mất 168ms; mỗi một chút cộng lại.
mikeytown2

15

Đúng. Tuy nhiên, 30 không có gì đáng lo ngại. Bạn đang gặp rắc rối khi bạn vượt quá 100;)

Cài đặt bộ đệm bộ đệm mã byte (APC hoặc XCache) để loại bỏ hầu hết sự chậm chạp bao gồm nhiều tệp và đảm bảo xóa định kỳ các mô-đun không sử dụng (thường là mọi dự án tập hợp các mô-đun không được sử dụng tại một số điểm trong quá trình phát triển)


Tôi thấy rằng Commerce Kickstart sử dụng 96 mô-đun đóng góp.
Pere

Cài đặt XCache khiến các trang của tôi hiển thị trong một nửa thời gian. Cảm ơn.
cherouvim

1

Để bổ sung cho cả hai phản hồi của @Bojan Zivanovic & @kiamlaluno, điều này đúng, bạn nên quan tâm đến các tương tác mô-đun. Có nhiều mô-đun làm tăng rủi ro của các tương tác mô-đun xấu (như tương tác thuốc). Tôi muốn nói rằng việc có hơn 50 mô-đun trở nên nguy hiểm và bạn nên kiểm tra sớm rằng bạn không sử dụng một số mô-đun cho cùng một miền nhiệm vụ.

Như một ví dụ xây dựng các trang với các khối, khung nhìn, bảng điều khiển, các trường chứa các khung nhìn, các khối chứa các khung nhìn, các khối chứa các bảng chứa các khung nhìn chứa ... Ý tưởng là lấy một cái gì đó mà một bộ não bình thường có thể hiểu được (cách tạo ra các trang khác nhau của tôi) . Điều này có thể có tác động lớn đến các màn trình diễn khi một số hành vi tải phức tạp bị ẩn và bị xiềng xích. Một ví dụ khác là thêm một số quy tắc ACL từ một số mô-đun cho mỗi nội dung.

Nếu bạn sợ hiệu suất, luôn luôn sử dụng các mô-đun định hình và theo dõi sự khác biệt sau mỗi lần thêm mô-đun mới. Đôi khi một cái móc nhỏ với một số SQL bên trong hoặc một mẫu tùy chỉnh sẽ tiết kiệm thời gian tạo trang web của bạn.


Là drupal được làm cho "não bình thường"? :)
pico34

1

Ba điều cần lưu ý trong quá trình xây dựng trang web có thể tăng tốc trang web drupal của bạn là:

  1. Giảm số lượng mô-đun
  2. Kiểm tra nhật ký truy vấn myQuery của bạn để biết các truy vấn chậm và chỉnh sửa mã / thêm chỉ mục nếu cần.
  3. Bộ nhớ đệm (và hy vọng hầu hết người dùng của bạn không được xác thực)

và liên quan đến phần mô-đun rõ ràng số lượng mô-đun càng lớn thì tốc độ sẽ càng chậm, vì chúng yêu cầu RAM lớn hơn để xử lý ..

vẫn còn 30 đến 60 mô-đun sẽ không ảnh hưởng đến trang web của bạn rất nhiều.

Khẩu phần cho thời gian tải trang web và số lượng mô-đun giống như 100 mô-đun sẽ trì hoãn trang web từ 350ms đến 650ms.

hy vọng cho bạn trang web tiếp theo bạn muốn giữ những điểm đó trong tâm trí .. :)

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.