2009-04-02 37 views
6

Chúng tôi vừa triển khai một trang web drupal. Hiệu suất của trang web có vẻ là một vấn đề. Chúng tôi đã kích hoạt bộ nhớ đệm drupal, thiết lập bộ nhớ đệm apache dẫn xuất. Số lần truy cập trang lặp lại đủ nhanh (CSS và JS được lưu vào bộ nhớ cache), nhưng lượt truy cập trang ban đầu vẫn là vấn đề.Mẹo để tăng tốc trang web Drupal

Chuyên gia Drupal, bạn có thể cung cấp cho chúng tôi một số gợi ý về các kỹ thuật khác nhau được sử dụng để tăng tốc các trang web drupal hay không. (như DO và DONOT). Có loại trái cây treo nào khác không?

(BTW, DB không phải là một vấn đề ở đây. Đó là lớp đủ nhanh. Vấn đề có vẻ là trong lớp PHP/Drupal)

+0

Câu hỏi này dường như không có chủ đề vì nó là về quản trị drupal, chứ không phải lập trình. – Will

Trả lời

5

Bạn đã sử dụng bất kỳ công cụ nào như YSlow hoặc Firebug để xác định phần nào của tải trang thực sự chiếm nhiều thời gian nhất? Ngoài ra, hãy xem xét sử dụng giám sát truy vấn của mô-đun Devel để xác định xem có bao nhiêu thời gian đang được thực hiện chạy các truy vấn so với thực thi mã PHP.

Như những người khác đã lưu ý, bộ nhớ cache opcode như APC có thể có tác động đáng kể. Tuy nhiên, thực tế là lần truy cập thứ hai vào trang web nhanh hơn, gợi ý về vấn đề với tệp phụ (hình ảnh, JS, JS bên ngoài gọi các trang web từ xa, v.v.).

+0

Tôi là lời khuyên thứ hai này. Y! Chậm sẽ chỉ ra một số thứ. – wrburgess

+0

@wrburgess nhưng bạn phải lấy ý kiến ​​của YSlow với một hạt muối - nó được viết để đánh giá một trang xử lý các yêu cầu brazillions một giây. –

+1

Thật vậy. Các gợi ý tốt nhất về đánh giá YSlow liên quan đến số lượng tệp hình ảnh/css/js; Firebug phân tích xem mỗi tệp (nội bộ và từ xa) mất bao lâu để tải là vô cùng hữu ích, hầu như hữu ích hơn trong hầu hết các trường hợp. – Eaton

0

Nếu bạn chắc chắn DB không phải là một nút cổ chai, sau đó nó trỏ tới hoặc thời gian thực hiện hoặc phản hồi của máy chủ.

Bạn có đang thực hiện bất kỳ loại bộ nhớ đệm mã hóa PHP nào không?

Đồng thời kiểm tra cấu hình Apache của bạn. Nó có hoạt động chậm chạp chỉ dưới sự sử dụng đồng thời hay là nó làm chậm dơi chỉ với một khách truy cập?

Ngoài ra còn có một trang trên Drupal mà đi qua một số bước chung: Server tuning considerations

Bạn có thể bỏ qua những cái liên quan đến cơ sở dữ liệu, tất nhiên.

4

Bạn đề cập đến CSS/JS chậm - bạn đã bật 'tối ưu hóa băng thông' cho CSS và JS trong/admin/settings/performance chưa? Nó gộp tất cả CSS (hoặc JS) thành một tệp duy nhất - có thể tạo ra sự khác biệt khá lớn nếu bạn có một số lượng lớn các tệp riêng biệt (độ trễ là một kẻ giết người).

Sử dụng bộ nhớ cache opcode, như APC, cũng có thể tạo sự khác biệt lớn về hiệu suất trang, đặc biệt khi bạn bắt đầu chồng chất trên các mô-đun. Tôi không thể tưởng tượng trở lại phát triển PHP mà không sử dụng nó.

+0

Cảm ơn lời khuyên, Sean –

0

Gần đây tôi đã khởi chạy một trang web Drupal và nó chạy khá nhanh. Nút cổ chai lớn nhất (theo Y! Slow), là một ứng dụng ShareThis mà chúng tôi đã thêm vào. Ngoài ra, tải xuống bên ngoài của Google Analytics thêm một chút thời gian.

Ngoài ra, hãy đảm bảo bạn đã tắt tất cả các mô-đun nhà phát triển (chúng có thể thêm phí jscript và tạo kiểu), bạn KHÔNG đăng nhập với tư cách quản trị viên khi thử nghiệm và sử dụng trình duyệt có các tiện ích bổ sung nhỏ (chẳng hạn như Chrome) có thể đang xử lý ở bên cạnh.

0

Hãy thử cài đặt APC - http://il.php.net/apc hoặc eccelerator - http://eaccelerator.net/

Cả hai cải thiện hiệu suất chạy PHP. Trên một số trang web mà tôi đã thử nghiệm, thời gian cần để tải trang chủ đã tăng từ ~ 750msec lên ~ 300msec.

Tôi có kinh nghiệm xấu với PHP/MySQL/Drupal trên Windows, việc tìm kiếm DAMP LAMP đôi khi dễ dàng hơn. Vì vậy, tôi muốn giới thiệu - chạy xa các thiết lập dựa trên Windows.

Không thực sự là một câu trả lời stackoverflow.com ... nhưng trang web syster không có sẵn chưa :)

3

tôi đã viết một bài viết về page loading performance in Drupal. Bạn sẽ tìm thấy tài liệu tham khảo cho hầu hết mọi thứ bạn cần biết về chủ đề đó ở đó. Và như những người khác đã lưu ý, bạn chắc chắn nên cài đặt một bộ đệm opcode như eAccelerator hoặc APC. Chúng dễ thiết lập và cung cấp cho bạn hiệu suất tăng miễn phí!

3

Bạn có url đến trang web của mình không?

Couple của con trỏ nhanh:

  1. Sử dụng YSlow
  2. Sử dụng tools.pingdom.com để xem nếu có bất cứ điều gì rõ ràng chậm
  3. Compress js và css sử dụng máy nén YUI
  4. Chỉ sử dụng các tập tin cookie khi cần thiết
  5. Sử dụng APC/Xcache
  6. Điều chỉnh tham số PHP
  7. Sử dụng máy chủ riêng cho tĩnh. Sử dụng nginx
  8. Sử dụng véc ni để cache

HTH.

1

Tôi đã tìm thấy một số cách để tăng tốc độ Drupal. Tôi đã sử dụng Godaddy mà là chậm hơn so với một hệ thống đã chậm nhưng nó đã giúp tôi phát hiện ra một số vấn đề. Ngoài ra, tôi đã sử dụng Kickstart thương mại thậm chí còn chậm hơn Drupal 7.

Drupal hơi chậm nên việc này nhanh nhất có thể là cần thiết.

  1. Bạn cần kết nối cơ sở dữ liệu nhanh (không có kết nối cơ sở dữ liệu mạng chậm).

  2. Có một số cài đặt cấu hình bạn có thể sửa đổi trong php.ini/.user.ini. (Xem link bên dưới)

  3. Nếu Drupal được lưu trữ tại một công ty hosting bạn cần phải chọn các công ty lưu trữ với thời gian phản hồi nhanh nhất có thể. (Xem link bên dưới)

  4. Enable Drupal bộ nhớ đệm.

  5. Không bật hơn 50 mô-đun.

  6. Cũng làm truy vấn bộ đệm ẩn với MySQL nếu bạn đang sử dụng MySQL.

Sau đó rất nhiều việc phải làm với hiệu suất là có lập trình. Hãy xem cách Drupal 7 tách rời các thực thể Profile nếu bạn muốn xem một vấn đề cơ sở dữ liệu khác sẽ phát triển với quy mô có nghĩa là Drupal 7 có thể không bao giờ mở rộng quy mô. Bạn có thể phải tự viết các mô-đun để tăng tốc các phần đã chậm trong lõi. Có lẽ Drupal 8 sẽ chăm sóc một số vấn đề.

+0

Bạn có thể đặt một số chi tiết trong câu trả lời này thay vì chỉ liên kết với một tài nguyên bên ngoài không? – jakerella

+0

Tài nguyên bên ngoài là tài nguyên tôi đã viết khi tôi gặp sự cố với Drupal 7 và Drupal Commerce Kickstart. Những điều tôi đã đề cập trong liên kết đã giúp tôi tăng tốc độ, và nó đã cho tôi một vài ngày và một vài công ty lưu trữ để tìm ra điều này. Nó có thể giúp bạn tiết kiệm thời gian nhưng có thể không. Tùy thuộc vào bạn nếu bạn muốn đọc kinh nghiệm của tôi. – JTHouseCat

+0

Không cố gắng để có ý nghĩa hay bất cứ điều gì, tôi nhìn vào liên kết, và tôi nghĩ rằng nó có thể hữu ích cho các poster ban đầu. Quan điểm của tôi chỉ là câu trả lời đầu tiên của bạn, tôi muốn xác định những gì StackOverflow đang tìm kiếm về mặt câu trả lời. Bạn thấy một số [lời khuyên tốt trong phần trợ giúp] (http://stackoverflow.com/help/how-to-answer), nhưng điều quan trọng là trong khi tài nguyên bên ngoài là tuyệt vời, nói chung chúng tôi thích cho "thịt" của nội dung bên ngoài được trích dẫn trong câu trả lời. Một lần nữa, không cố gắng xúc phạm, chỉ cung cấp lời khuyên. – jakerella

Các vấn đề liên quan