Tôi không đồng ý với Nathan và Freddy một mức độ nào. Chúng đúng là "thử nghiệm AJAX" thực sự không khác gì trong các yêu cầu HTTP được tạo ra. Nhưng nó không phải là đơn giản. Xem bài viết của tôi trên Ajaxian.com trên Why Load Testing Ajax is Hard.
JMeter, Pylot và The Grinder là tất cả các công cụ tuyệt vời để tạo yêu cầu HTTP (cá nhân tôi khuyên dùng Pylot). Nhưng ở cốt lõi của họ, họ không hoạt động như một trình duyệt và xử lý JavaScript, có nghĩa là tất cả những gì họ làm là phát lại lưu lượng truy cập mà họ nhìn thấy vào thời gian kỷ lục. Nếu những yêu cầu AJAX đó là duy nhất cho phiên đó, chúng có thể không phù hợp/chính xác để phát lại với số lượng lớn.
Thực tế là khi nhiều logic được đẩy xuống trình duyệt, nó sẽ trở nên khó khăn hơn nhiều (nếu không thể) để mô phỏng đúng lưu lượng sử dụng các công cụ kiểm tra tải truyền thống.
Trong bài viết của mình, tôi đưa ra một ví dụ đơn giản về việc thử nghiệm một thứ gì đó giống như trang chủ của Google khi bạn muốn truy vấn 1000 cụm từ tìm kiếm khác nhau (mục tiêu quan trọng trong khi kiểm tra tải).Để làm điều đó với JMeter/Pylot/Grinder bạn có hiệu quả kết thúc viết lại các phần của mã AJAX (trong trường hợp của bạn w/jQuery) trên một lần nữa trong ngôn ngữ mẹ đẻ của công cụ.
Sẽ phức tạp hơn nếu mục tiêu của bạn là đo thời gian phản hồi khi người dùng nhận thức (điều được cho là điều quan trọng nhất vào cuối ngày). Đối với các ứng dụng thực sự phức tạp sử dụng Comet/"Reverse Ajax" (một kỹ thuật giữ các ổ cắm mở trong thời gian dài), các công cụ tải truyền thống không hoạt động chút nào.
Công ty của tôi, BrowserMob, cung cấp một load testing service sử dụng trình duyệt Firefox, chạy bằng Selenium, lái xe hàng trăm hoặc hàng ngàn các trình duyệt thực, cho phép bạn để đo lường và thời gian hoạt động của các yếu tố thị giác như thể hiện trong trình duyệt. Chúng tôi cũng hỗ trợ người dùng ảo truyền thống (giao thông HTTP mù) và trình duyệt được mô phỏng (qua HtmlUnit).
Tất cả những gì đã nói, thường là sự kết hợp của một dịch vụ như BrowserMob cộng với thử nghiệm tải truyền thống là cách tiếp cận đúng. Đó là, các trình duyệt thực sự là tuyệt vời cho một bài kiểm tra tải đầy đủ độ trung thực, nhưng chúng sẽ không bao giờ kinh tế như "người dùng ảo", vì chúng đòi hỏi thêm 10-100X RAM và CPU. Xem bài đăng trên blog gần đây của tôi về việc có hay không simulate or not to simulate virtual users.
Hy vọng điều đó sẽ hữu ích!