Tôi đã triển khai ứng dụng web LAMP thành hai phiên bản AWS riêng biệt (được gắn nhãn sản phẩm và thử nghiệm). Cả hai đều là t2.micro, nhưng prod là hình ảnh Linux cũ hơn và test là hình ảnh Linux 2 mới. Sử dụng Dev Tool của trình duyệt chrome:
prod - tổng thời gian: giữa 500 mili giây và 600 mili giây
kiểm tra - tổng thời gian: từ 15 giây đến 50 giây
TTFB trên prod nhỏ hơn 100 ms trên tất cả các tệp đã tải xuống (script, css, js, v.v.)
TTFB trong bài kiểm tra là 3 giây trở lên...
Đây là một liên kết đến ảnh chụp màn hình công cụ chrome dev:
Kết quả thời gian của công cụ dành cho nhà phát triển Chrome
Ngoài ra, thời gian tải xuống cho mỗi tệp lâu hơn rất nhiều trong phiên bản thử nghiệm.
Chúng hầu như có cùng một conf apache, cùng mức sử dụng bộ nhớ (~50%), cùng một mã.
Tôi đã cố gắng tìm hiểu tại sao và không thể tìm thấy câu trả lời. Đây là những kiểm tra bổ sung tôi đã thực hiện:
- Đã thử strace và mất vài giây để thực hiện yêu cầu tiếp theo (3.1 giây trong ví dụ bên dưới):
6645 17:28:29 read(10, 0x55ff6e9b23f8, 8000) = -1 EAGAIN (Tài nguyên tạm thời không khả dụng) <0,000007>
...
6645 17:28:32 <... cuộc thăm dò đã tiếp tục> ) = 1 ([{fd=10, revents=POLLIN}]) <3.108490>
- Ở đây, strace cũng cho thấy apache đợi rất lâu để ổ cắm (fd=10) có sẵn để ghi lại sau khi gửi tệp...
6645 17:28:32 tệp gửi(10, 11, [76038] => [78918], 69895) = 2880 <0,000009>
6645 17:28:32 thăm dò ý kiến([{fd=10, sự kiện=POLLOUT}], 1, 60000 <chưa hoàn thành ...>
....
6645 17:28:55 <... cuộc thăm dò đã tiếp tục> ) = 1 ([{fd=10, revents=POLLOUT}]) <23.333877>
- Tôi đã thử tải xuống một tệp lớn (3,6 MB) qua scp và tốc độ đó nhanh hơn rất nhiều (~1,7 MB/s). Điều đó cho tôi biết có điều gì đó không ổn với apache hoặc ổ cắm mà apache đang sử dụng, có lẽ?
Bất kỳ ý tưởng những gì đang xảy ra trên thử nghiệm? hoặc nếu đó là tốc độ dự kiến từ phiên bản t2.micro EC2?
Cảm ơn,
Mario.