2012-08-06 30 views
7

Tôi hy vọng ai đó có thể giúp tôi với vấn đề Drupal 7 này. Tôi nhận thấy rằng thời gian tải rất chậm khi tôi nhập địa chỉ trang web cho "lần đầu tiên". Mất khoảng 20 giây (trung bình) chỉ để bắt đầu tải các tập tin và hiển thị nội dung. Giống như nó có một số chậm trễ. Tuy nhiên, sau khoảng thời gian đó nó rất nhanh và mọi thứ đều ổn. Khi (các) trang được tải, chúng tôi có thể làm mới chúng nhanh chóng và không bị chậm trễ.Drupal 7 quá chậm trên "lần tải đầu tiên"

Tôi đính kèm hình ảnh để xem Thác mạng của Chrome.

Cảm ơn tất cả.

Ảnh: http://i.stack.imgur.com/vuejk.png (hãy nhìn vào hàng thứ hai)

[UPDATE] Tôi đang sử dụng php-APC nhưng vẫn có cùng một vấn đề.

+0

có vẻ như bạn cần sử dụng một số Cache hoặc CDN để tránh chờ đợi lâu trong chế độ xem đầu tiên. Trang web của bạn tự động hoạt động rất lâu, cho biết vấn đề cơ sở dữ liệu, có thể là –

+0

Bạn có đang sử dụng cơ sở dữ liệu bên ngoài không? Có thể các dns resolvers không hoạt động. – frustratedtech

+0

Xem http://drupal.stackexchange.com/questions/36147/performance-problem-delay-on-first-request để biết danh sách khá rõ ràng về những gì có thể gây ra sự cố – Clive

Trả lời

6

Đây là (rất có thể) do các tác vụ Cron Drupal được chạy vài giờ một lần (tùy thuộc vào cài đặt). Drupal sau đó thực hiện tất cả các công việc cron xếp hàng đợi .. có thể mất nhiều thời gian.

Hãy xem trang this drupal.stackoverflow.

e: Ngoài ra, tinh chỉnh này có thể giúp đỡ, nhưng tôi đã không cố gắng này bản thân mình: http://drupal.org/node/1576686

2

Tắt module Update Manager trên sản xuất. Khi Cron chạy, nó sẽ kiểm tra các bản cập nhật sẽ mất thời gian. Tiết kiệm thời gian bằng cách chỉ cho phép mô-đun này trên các trang web phát triển (Dev, Dàn dựng, vv). Không cần sản xuất để dành thời gian cho việc này.

0

Hãy xem những gì bạn có trong phần đầu trang của trang web của bạn. Nếu có rất nhiều câu lệnh @import trong đó thì vấn đề có nhiều khả năng nhất trong giao diện người dùng hơn là phần phụ trợ.

Drupal sử dụng nhiều tệp .css và .js theo mặc định. Trình duyệt có thể bắt đầu vẽ trang bạn chỉ yêu cầu sau khi tất cả các tệp .css và .js từ phần đầu được tải xuống.

Sự cố với @import là trình duyệt của bạn có thể tải xuống chỉ một tệp css tại một thời điểm. Đó là trường hợp khác nhau với thẻ. Các tệp css có thể được tải xuống song song trong trường hợp này có nghĩa là nhanh hơn.

Lần thứ hai bạn truy cập vào trang web tệp css và js được tải từ bộ nhớ cache của trình duyệt và điều này giải thích lý do tại sao các trang tải nhanh hơn.

Cách giải quyết được đề xuất: Chuyển đến quản trị/cài đặt/hiệu suất bật css và tập hợp js.

2

Tôi biết đây là câu hỏi cũ, nhưng đây là giải pháp của tôi. Điều này xảy ra với các trang web không tạo ra nhiều lưu lượng truy cập và nhóm ứng dụng trang web trên máy chủ tự động tắt sau một khoảng thời gian nhất định (tôi tin rằng mặc định là 20 phút). Vì vậy, người đầu tiên truy cập trang web sau khoảng thời gian này sẽ phải đợi hồ bơi ứng dụng khởi động lại và có thể mất một thời gian trên các trang web php. Điều này cũng áp dụng cho công việc ngô. Công việc cốt lõi của bắp được thiết lập để chạy mọi "n" minitues, nhưng nó chỉ có thể chạy khi ai đó truy cập trang web. Vì vậy, người đầu tiên đánh vào vị trí sau khoảng thời gian thiết lập cho ngô sẽ phải chờ công việc ngô để chạy. Vì vậy, đối với một trang web sản xuất, bạn nên chịu trách nhiệm các công việc ngô lõi và chạy chúng bằng tay hoặc sử dụng một dịch vụ bên ngoài để chạy ngô (đi qua url bên ngoài của ngô). Giải pháp tốt nhất là sử dụng dịch vụ bên ngoài miễn phí như Uptime Robot để truy cập trang web của bạn sau mỗi 5-10 phút, do đó giữ kết nối luôn hoạt động.

+0

Về việc hồ bơi ứng dụng tắt, điều này sẽ xảy ra: sử dụng ** PHP-FPM ** với _pm = ondemand_ hoặc sử dụng ** PHP-CGI ** với _FcgidIdleTimeout_ với giá trị> 0. –

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