Công cụ điểm chuẩn apache là rất cơ bản, và mặc dù nó sẽ cho bạn ý tưởng vững chắc về hiệu suất, nhưng sẽ chỉ phụ thuộc vào nó nếu bạn có kế hoạch khiến trang web của bạn bị căng thẳng nghiêm trọng trong sản xuất.
Phải nói rằng, đây là thông số phổ biến nhất và đơn giản nhất:
-c
: ("Đồng thời"). Cho biết có bao nhiêu khách hàng (người / người dùng) sẽ truy cập trang web cùng một lúc. Trong khi ab
chạy, sẽ có -c
khách hàng nhấn trang web. Đây là những gì thực sự quyết định mức độ căng thẳng mà trang web của bạn sẽ phải chịu trong thời gian chuẩn.
-n
: Cho biết có bao nhiêu yêu cầu sẽ được thực hiện. Điều này chỉ quyết định độ dài của điểm chuẩn. -n
Giá trị cao với -c
giá trị mà máy chủ của bạn có thể hỗ trợ là một ý tưởng tốt để đảm bảo rằng mọi thứ không bị phá vỡ dưới áp lực kéo dài: không giống nhau để hỗ trợ căng thẳng trong 5 giây so với 5 giờ.
-k
: Điều này thực hiện các trình duyệt funcionality "KeepAlive" thực hiện. Bạn không cần phải vượt qua một giá trị -k
vì nó là "boolean" (có nghĩa là: nó cho biết rằng bạn muốn thử nghiệm của mình để sử dụng tiêu đề Keep Alive từ HTTP và duy trì kết nối). Vì các trình duyệt làm điều này và bạn có thể muốn mô phỏng sự căng thẳng và dòng chảy mà trang web của bạn sẽ có từ các trình duyệt, bạn nên thực hiện một điểm chuẩn với điều này.
Đối số cuối cùng chỉ đơn giản là máy chủ lưu trữ. Theo mặc định, nó sẽ đạt giao thức http: // nếu bạn không chỉ định nó.
ab -k -c 350 -n 20000 example.com/
Bằng cách ban hành lệnh trên, bạn sẽ nhấn http://example.com/ với 350 kết nối đồng thời cho đến khi 20 nghìn yêu cầu được đáp ứng. Nó sẽ được thực hiện bằng cách sử dụng tiêu đề giữ sống.
Sau khi quá trình hoàn thành 20 nghìn yêu cầu, bạn sẽ nhận được phản hồi về số liệu thống kê. Điều này sẽ cho bạn biết trang web hoạt động tốt như thế nào dưới sự căng thẳng mà bạn đặt nó khi sử dụng các tham số ở trên.
Để tìm hiểu có bao nhiêu người mà trang web có thể xử lý cùng một lúc, chỉ cần xem thời gian phản hồi (có nghĩa là thời gian phản hồi tối thiểu và tối đa, yêu cầu không thành công, v.v.) là những con số mà trang web của bạn có thể chấp nhận (các trang web khác nhau có thể muốn tốc độ khác nhau). Bạn có thể chạy công cụ với các giá trị -c khác nhau cho đến khi bạn đạt đến điểm bạn nói "Nếu tôi tăng nó, nó sẽ bắt đầu nhận được các yêu cầu thất bại và nó bị hỏng".
Tùy thuộc vào trang web của bạn, bạn sẽ mong đợi số lượng yêu cầu trung bình mỗi phút. Điều này thay đổi rất nhiều, bạn sẽ không thể mô phỏng điều này với ab. Tuy nhiên, hãy nghĩ về nó theo cách này: Nếu người dùng trung bình của bạn sẽ đạt 5 yêu cầu mỗi phút và thời gian phản hồi trung bình mà bạn thấy hợp lệ là 2 giây, điều đó có nghĩa là 10 giây trong 1 phút người dùng sẽ chỉ nhận được yêu cầu, nghĩa là chỉ 1/6 thời gian nó sẽ được nhấn trang web. Điều này cũng có nghĩa là nếu bạn có 6 người dùng truy cập trang web cùng lúc với ab, bạn có thể có 36 người dùng trong mô phỏng, mặc dù mức độ đồng thời (-c) của bạn chỉ là 6.
Điều này phụ thuộc vào hành vi bạn mong đợi từ người dùng của bạn khi sử dụng trang web, nhưng bạn có thể nhận được từ "Tôi hy vọng người dùng của mình đạt được yêu cầu X mỗi phút và tôi coi thời gian phản hồi trung bình là hợp lệ nếu là 2 giây". Sau đó, chỉ cần sửa đổi cấp độ -c của bạn cho đến khi bạn đạt 2 giây thời gian phản hồi trung bình (nhưng đảm bảo thời gian phản hồi tối đa và stddev vẫn hợp lệ) và xem bạn có thể tạo ra mức độ lớn như thế nào.
Tôi hy vọng tôi đã giải thích điều này rõ ràng :) Chúc may mắn