Điểm:0

Máy chủ Apache rất chậm đối với lưu lượng truy cập cao

lá cờ sa

Tôi đang sử dụng phiên bản Apache 2 trên AWS ec2. Tôi có bộ cân bằng tải ứng dụng với 2 phiên bản/máy chủ được đính kèm. Mỗi loại phiên bản là m5.8XLarge.

Ứng dụng của tôi được phát triển bằng Laravel, tôi đang sử dụng RDS.

Tôi đang có 300.000 khách truy cập mỗi ngày và 10.000 khách truy cập cùng một lúc. Trang web của tôi rất chậm và thời gian phản hồi ban đầu của máy chủ rất cao lên tới 8 giây.

Lưu ý: Tôi không thể sử dụng tính năng tự động gọi vì nội dung của tôi là động và thay đổi thường xuyên. Autoscaling đang sử dụng IMG cũ.

Tôi có các cài đặt bổ sung bên dưới trên tệp httpd.conf

 MaxKeepAliveRequests 500
 Keepalive Bật
 KeepAliveTimeout 5
 Tìm kiếm tên máy chủ Tắt

<IfModule prefork.c>
  Máy chủ khởi động 5
  MinSpareServers 20
  Máy chủ MaxSpare 40
  Khách hàng tối đa 200
  MaxRequestsPerChild 4000
</IfModule>

Làm cách nào tôi có thể cải thiện tốc độ máy chủ và cho phép apache xử lý nhiều tải/khách truy cập

vidarlo avatar
lá cờ ar
Nút cổ chai của bạn là gì? Cơ sở dữ liệu, Apache hoặc thời gian xử lý cho ứng dụng của bạn?
Muhammad Shafiq avatar
lá cờ sa
Thời gian phản hồi của máy chủ. Apache cộng với thời gian xử lý. Máy chủ mất quá nhiều thời gian để phản hồi người dùng
vidarlo avatar
lá cờ ar
Vâng, đó là kết quả cuối cùng. Nhưng bạn có biết làm thế nào thời gian này được xây dựng? Nó đang đợi cơ sở dữ liệu, đang bận xử lý ứng dụng của bạn hay đang bận đọc từ đĩa?
Tim avatar
lá cờ gp
Tim
Bạn cần dành thời gian để tìm ra giới hạn là gì.Bạn cũng cần sử dụng mô hình đám mây để triển khai, chẳng hạn như đặt hình ảnh được chia sẻ của bạn trên EFS thay vì trên máy chủ. Lý tưởng nhất là các máy chủ trong đám mây nên được coi là tạm thời (tạm thời) và có thể được thay thế bất cứ lúc nào, theo cách đó bạn có thể tăng và giảm quy mô dễ dàng hơn. Mở rộng quy mô với các máy chủ nhỏ hơn rẻ hơn giúp giảm chi phí khi tải thấp và giúp tránh tắc nghẽn trong một máy chủ.
Muhammad Shafiq avatar
lá cờ sa
Tôi đang sử dụng S3 & CloudFront làm CDN cho hình ảnh & Tệp. Trên trang chủ không có kết nối với cơ sở dữ liệu. Vì vậy, điều duy nhất cần kiểm tra xem ứng dụng Apache và laravel. Bạn có đề xuất chuyển đổi apache mpm thành worker không?
Điểm:0
lá cờ cn

Bạn nên xem xét sử dụng một Tự động mở rộng nhóm để mở rộng ứng dụng của bạn theo chiều ngang nếu có thể. Một máy chủ sẽ luôn đạt đến giới hạn hiệu suất - đây là lý do tại sao chúng tôi sử dụng bộ cân bằng tải. Nếu bạn đã sử dụng 2 phiên bản, chỉ cần bổ sung thêm! Miễn là kiến ​​trúc của bạn sẽ hỗ trợ nó.

Nếu không, bạn có thể thay đổi quy mô theo chiều dọc bằng cách sử dụng phiên bản EC2 lớn hơn.Bạn không nói bạn đang sử dụng phiên bản nào nên tôi không thể đưa ra bất kỳ đề xuất nào.

Muhammad Shafiq avatar
lá cờ sa
Tôi đã thêm lời giải thích cho câu hỏi. Tôi không thể sử dụng tính năng tự động tính tỷ lệ vì nội dung của tôi là động và thay đổi thường xuyên. Autoscaling đang sử dụng IMAGs cũ. Ngoài ra mình đang dùng 2 server m5.8xlarge loại ec2
Muhammad Shafiq avatar
lá cờ sa
Bạn có đề nghị tôi chuyển apache sang mpm_worker_module không? và những gì nên được cài đặt có thể cho điều đó?
lá cờ cn
Tôi không hiểu tại sao "nội dung của tôi động và thay đổi thường xuyên" lại ngăn bạn tự động tính tỷ lệ.
Muhammad Shafiq avatar
lá cờ sa
AWS Auto Scaling sử dụng hình ảnh phiên bản để khởi chạy các phiên bản mới. Hình ảnh đó sẽ có nội dung cũ nên phiên bản mới khởi chạy cũng sẽ có nội dung cũ.Từ nội dung, ý tôi là nếu tôi tải lên hoặc cập nhật một số tệp hình ảnh, html, css hoặc php lên trang web của mình
lá cờ cn
Bạn có thể sử dụng dữ liệu người dùng khi cung cấp hình ảnh để tùy chỉnh triển khai. Bạn cũng có thể đặt nội dung tĩnh như hình ảnh trong S3 và cập nhật chúng một cách riêng biệt. Tốt nhất bạn nên tìm hiểu một số khóa đào tạo về AWS thông qua một nhà cung cấp trực tuyến vì nó có thể cung cấp cho bạn nhiều thông tin cơ bản hơn những gì chúng tôi có thể có ở đây.
vidarlo avatar
lá cờ ar
Về cơ bản, bạn đang cố triển khai theo cách *truyền thống* trong môi trường đám mây. Đừng làm thế. Tận dụng đám mây - dữ liệu và logic riêng biệt, để logic có thể là vùng chứa docker truy cập dữ liệu - tĩnh từ S3 hoặc động từ cơ sở dữ liệu. Điều này làm cho việc mở rộng quy mô trở nên dễ dàng; quay thêm thùng chứa khi cần thiết. Tôi đồng ý với @ shearn89 - hãy tự học cách tận dụng đám mây và cách mở rộng quy mô trong môi trường đám mây.
lá cờ jp
Tối ưu hóa mà không biết nút cổ chai thực sự là gì là lãng phí thời gian và nguồn lực. Trước tiên hãy xác định mức sử dụng và bão hòa tài nguyên thực tế là gì.
Muhammad Shafiq avatar
lá cờ sa
Tôi đang nói về tốc độ trang chủ, trên trang chủ không có kết nối với cơ sở dữ liệu. Tôi có cần chuyển đổi MPM của apache từ prefork sang worker không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.