2010-08-20 42 views
28
  1. Bạn vui lòng cho tôi biết giới hạn tối đa không. của các chủ đề mà tôi có thể sử dụng trong JMeter 2.4 để tiến hành kiểm tra tải?JMeter max. giới hạn chuỗi

  2. Có bất kỳ sự khác biệt nào trong việc lấy tất cả các chuỗi trong một vòng lặp đơn hay bằng cách lấy ít không. của chủ đề và khởi tạo vòng lặp để đạt được cùng không. của người dùng/chủ đề?

Ví dụ:

No. of threads=500 
Ramp up=1000 
Loop=1 

cho dù đó là giống như

No. of threads=50 
Ramp up=100 
Loop=10 

hoặc có bất kỳ sự khác biệt về kết quả?

+4

câu hỏi hay nên chọn câu trả lời! – tgkprog

Trả lời

20
  1. Số tối đa của chủ đề được xác định bởi rất nhiều yếu tố, xem câu trả lời này https://stackoverflow.com/a/11922239/460802

  2. Có một sự khác biệt lớn đến những gì bạn đang đề xuất.

    • "500 chủ đề, vòng 1" Có nghĩa là 500 chủ đề CÙNG MỘT THỜI GIAN làm vòng lặp ONCE.
    • "50 chủ đề, vòng lặp 10" Chỉ có nghĩa là 50 chủ đề CÙNG THỜI GIAN thực hiện vòng lặp TEN TIMES.

Về lý thuyết bạn nhận được cùng một số kết quả (500), nhưng bạn đang đánh máy chủ một cách rất khác nhau.

9

Số người dùng tối đa phụ thuộc vào hệ điều hành của bạn, RAM và kết nối miễn phí. Win XP được giới hạn trong 3000 quy trình cùng một lúc. Trên Linux là hơn 3000 nhưng tôi không bao nhiêu. Hãy cẩn thận rằng bạn kiểm tra máy chủ và nếu bạn bắt đầu 3000 thread trên máy của bạn đòi hỏi rất nhiều tài nguyên và thử nghiệm sẽ không có thật. Tôi pref giá vé để bắt đầu tối đa 300 người dùng cho mỗi máy. Nếu bạn muốn tăng số lượng người dùng hơn là sử dụng thử nghiệm phân tán (sử dụng nhiều máy hơn như tấn công DoS). Về lý thuyết là cùng một số yêu cầu nhưng độ phức tạp thời gian không giống nhau.

5

1: Tất nhiên nó phụ thuộc rất nhiều vào máy chạy JMeter, nhưng nếu số dặm tôi có thể cung cấp cho bạn một số gợi ý. JMeter cho phép bạn chạy nhiều tiến trình trong cùng một hộp, và nó thường khá đáng tin cậy, tạo ra tới 200 luồng cho mỗi phiên bản JMeter. Nếu bạn cần nhiều hơn thế, tôi khuyên bạn nên sử dụng nhiều phiên bản JMeter. Một máy tính hiện đại với một số tinh chỉnh có thể dễ dàng tạo ra 500 đến 1000 luồng. Sử dụng Linux, bạn có thể cần phải tăng số lượng tối đa các bộ mô tả tập tin (see here).

Nó giúp rất nhiều để chạy JMeter mà không có GUI, viết báo cáo/dữ liệu đồ họa trong một tệp sẽ được hiển thị sau. Bạn cũng phải chú ý đến các giới hạn mạng của bạn. Sẽ dễ dàng cho một máy chủ trong mạng Gbps để tạo ra hàng nghìn yêu cầu, nhưng một máy tính xách tay dùng chung bộ định tuyến 54 Mbps sẽ bị hạn chế hơn nhiều. Hãy thử chia kết nối thực tế của bạn với máy chủ theo kích thước của các yêu cầu, và sau đó bạn sẽ biết nếu băng thông sẽ giới hạn bạn. Đặc biệt chú ý đến cấu hình của JMeter để tải xuống hay không các tệp được tham chiếu trong phản hồi HTML.

Hy vọng tôi có thể trợ giúp.

2: Đó chính xác là những gì BlackGaff đã giải thích: "500 chủ đề, Vòng 1" Có nghĩa là 500 chủ đề THEO THỜI GIAN làm vòng lặp ONCE. "50 chủ đề, vòng lặp 10" Có nghĩa là chỉ có 50 chủ đề tại cùng một thời gian làm vòng lặp TEN TIMES.

0
  1. Tôi không nghĩ rằng có bất kỳ giới hạn chuỗi nào trên JMeter nếu máy của bạn có thể xử lý nó. Ý tưởng cơ bản của thử nghiệm nên là, việc chuyển đổi chuỗi và thời gian chờ sẽ không ảnh hưởng đến các chỉ số hiệu suất thực tế quá nhiều.

  2. Có sự khác biệt rất lớn giữa hai trường hợp. Trong trường hợp đầu tiên, kịch bản tồi tệ nhất, bạn sẽ có 500 người dùng đồng thời. Trong trường hợp thứ hai, số lượng người dùng đồng thời tối đa sẽ là 50. Thời gian trung bình cho kịch bản 1 sẽ lớn hơn thời gian trung bình cho kịch bản 2.

5

Điều này rất phổ biến ở đây sau khi tạo kịch bản và các trường hợp thử nghiệm, chúng ta cần phải chạy bằng JMeter và chúng ta phải sửa giá trị của số lượng người dùng hoặc chủ đề được phép sử dụng trong JMeter Thread Group. Chúng tôi không muốn điều tiết một trong hai máy phát điện tải của chúng tôi hoặc ví dụ JMeter của chúng tôi. Về cơ bản, cần phải chỉnh trong cả hai trường hợp. Đầu ra của thử nghiệm sẽ vô giá trị và chúng tôi sẽ mất thời gian của chúng tôi. Vì vậy, đây là những điều chúng ta cần phải xem xét: -

  • JMeter là một công cụ Java nó chạy với JVM. Để có được khả năng tối đa, chúng ta cần phải cung cấp nguồn lực tối đa để JMeter trong execution.First, chúng ta cần phải tăng kích thước khối xếp (Bên trong JMeter thư mục bin, chúng tôi nhận jmeter.bat/sh)
HEAP=-Xms512m –Xmx512m 

Điều đó có nghĩa là kích thước phân bổ mặc định là tối thiểu 512MB, tối đa 512MB. Cấu hình nó theo cấu hình PC của riêng bạn. Hãy ghi nhớ, hệ điều hành cũng cần một số lượng bộ nhớ, do đó, không phân bổ tất cả các bạn RAM vật lý.

  • Sau đó, thêm tỷ lệ phân bổ bộ nhớ

NEW=-XX:NewSize=128m -XX:MaxNewSize=512m

Điều này có nghĩa bộ nhớ sẽ tăng với tốc độ này. Bạn nên cẩn thận, bởi vì, nếu thế hệ tải của bạn là rất cao lúc đầu, điều này có thể cần phải tăng lên. Hãy ghi nhớ, nó sẽ phân mảnh không gian heap của bạn bên trong JVM nếu phạm vi quá rộng. Nếu vậy, Bộ thu gom rác cần làm việc chăm chỉ hơn để làm sạch.

  • JMeter là ứng dụng GUI Java. Nó cũng có phiên bản không phải GUI, ít tốn kém tài nguyên (CPU/RAM). Nếu chúng ta chạy JMeter ở chế độ không phải là GUI, nó sẽ tiêu thụ ít tài nguyên hơn và chúng ta có thể chạy nhiều luồng hơn.

  • Tắt TẤT CẢ người nghe: Trong khi chạy thử. Chúng chỉ để gỡ lỗi và sử dụng chúng để thiết kế kịch bản mong muốn của bạn.

Người nghe phải được tắt trong khi kiểm tra tải. Việc kích hoạt chúng gây ra chi phí bổ sung, tiêu thụ tài nguyên có giá trị cần thiết bởi các yếu tố quan trọng hơn trong thử nghiệm của bạn.

  • Luôn luôn cố gắng sử dụng to-date Up-phần mềm. Hãy cập nhật Java và JMeter của bạn.

  • Đừng quên rằng khi nói đến yêu cầu lưu trữ và tiêu đề phản hồi, kết quả xác nhận và dữ liệu phản hồi có thể tiêu tốn rất nhiều bộ nhớ! Vì vậy, cố gắng không để lưu trữ các giá trị này trên JMeter trừ khi nó là hoàn toàn cần thiết.

Vì vậy, trong Tóm lại, nếu không có Người nghe có trong JMeter kịch bản, không có giám sát bên trong chạy máy chủ JMeter, mạng overhead/hàng rào và các kịch bản JMeter được tối ưu hóa thì đây là một tính toán sơ:

The total number of concurrent user = (total allocable memory)/(Size of all requests)

bạn cần phải ước tính đồng thời sử dụng số điện thoại/thread (chủ đề đang hoạt động) chỉ trong ter ms của kịch bản tải của bạn.

Ngoài ra, bạn cần phải theo dõi xem máy chủ của bạn Memory consumption, CPU usages đang chạy dưới 80% hay không. Nếu những tập quán này vượt quá 80%, hãy xem xét những thử nghiệm đó không đáng tin cậy như một báo cáo.

Để hiểu rõ hơn và phức tạp hơn, hai blog How many users JMeter can support?9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure phải trợ giúp.

+0

Câu trả lời của @Adnan là câu trả lời tốt nhất), nhưng như một FYI tôi chạy 1000 chủ đề đồng thời trên một m4.2xlarge trong AWS mà không phá vỡ một mồ hôi. –