2012-06-25 7 views
6

Tôi cần thực hiện thử nghiệm tải cho một dịch vụ web. Nó yêu cầu ít nhất 1000 người dùng đồng thời.Tôi nên mô phỏng 1000 người dùng đồng thời như thế nào?

Tôi biết một số công cụ kiểm tra (ví dụ: JMeter) có thể mô phỏng một nhóm người dùng đồng thời có nhiều chuỗi. Nhưng những người dùng đó không thực sự đồng thời.

Nếu tôi chạy chương trình JMeter trong máy chỉ có 2 lõi CPU, chỉ có 2 người dùng đồng thời hoạt động trong một khoảng thời gian, mặc dù có 1000 đề tài được tạo bằng công cụ kiểm tra.

Có cách nào để tạo người dùng đồng thời thực sự không?

Trả lời

11

Từ quan điểm của dịch vụ web, những người dùng này đồng thời. Một CPU với hai lõi có thể dễ dàng trao đổi giữa 1000 chủ đề; hầu hết thời gian, luồng sẽ đợi I/O mạng, vì vậy nó rất giống với cách nó hoạt động nếu bạn thực sự có 1000 lõi.

Vì vậy, JMeter nên ổn. Có thể là nếu chuỗi thử nghiệm phải làm một tải công việc chuyên sâu của CPU, thì điều đó có thể làm sai lệch kết quả. Nhưng thông thường, các chủ đề thử nghiệm chỉ đang chờ phản hồi.

+0

+1 để thực tế. Nếu bạn cần một người dùng trên mỗi CPU thì bạn sẽ cần 1000 CPU, có thể là 'thực' nhưng không thực tế. –

3

Bạn có thể thử công cụ * nix Siege sau khi đọc FAQ about concurrent users.

+1

Lợi thế của Siege so với JMeter là gì? – JuliaLi

+0

Siege hoạt động từ dấu nhắc lệnh, nó khá dễ dàng để sử dụng ra khỏi hộp. – Prasad