Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
Proxy Cho Load Testing JMeter: Mô Phỏng Traffic Nhiều IP

Proxy Cho Load Testing JMeter: Mô Phỏng Traffic Nhiều IP

Chuyên viên Kỹ thuật ProxyVN 10-23-2026 Đang tính... phút đọc

Proxy cho load testing JMeter là cách để bài kiểm thử tải phản ánh sát hơn lưu lượng thật, nơi người dùng đến từ hàng nghìn địa chỉ IP và nhiều vùng địa lý. Gửi toàn bộ tải từ một máy thường bị giới hạn tần suất chặn lại trước khi chạm tới ứng dụng. Bài viết của ProxyVN hướng dẫn cấu hình trên giao diện, dòng lệnh, cách xoay proxy và đọc kết quả.

Proxy cho load testing JMeter giải quyết bài toán gì

Apache JMeter là công cụ kiểm thử tải mã nguồn mở, dùng để đánh giá hiệu năng của website và dịch vụ khi có lượng truy cập lớn. Proxy là máy chủ trung gian giúp các yêu cầu kiểm thử đi ra từ nhiều địa chỉ khác nhau.

Theo hướng dẫn của ProxyScrape, proxy cho phép người kiểm thử mô phỏng yêu cầu từ nhiều địa điểm và thiết bị mà không cần có mặt tại đó.

Vì sao một IP chưa đủ để kiểm thử tải

Vì sao một IP chưa đủ để kiểm thử tải

Hạn chế khi kiểm thử từ một IP

Hệ thống thật có tường lửa ứng dụng web, giới hạn tần suất theo IP và mạng phân phối nội dung. Khi toàn bộ tải đến từ một địa chỉ, các lớp này phản ứng khác hẳn so với lưu lượng thật.

Kết quả là anh em đo sức chịu của lớp giới hạn tần suất chứ không đo được sức chịu của ứng dụng phía sau.

Ba lợi ích chính

Trang giải pháp của Decodo nêu ba nhóm lợi ích:

  • Mô phỏng lưu lượng phân tán theo địa lý: kiểm chứng hệ thống từ nhiều khu vực, kiểm tra mạng phân phối nội dung và logic biên theo vùng.
  • Không bị giới hạn tần suất và tường lửa chặn lưu lượng tổng hợp: lưu lượng đến từ nhiều IP nên giống người dùng thật.
  • Phát hiện điểm nghẽn chỉ lộ ra khi yêu cầu đa dạng về địa lý.

Nguồn này còn nêu một ứng dụng đáng chú ý là kiểm tra xem giới hạn tần suất có thật sự gắn với tài khoản hay không, bằng cách gọi một điểm cuối từ rất nhiều IP khác nhau.

Các loại kiểm thử liên quan

Các loại kiểm thử liên quan

Loại kiểm thử

Mục tiêu

Kiểm thử tải

Đo hiệu năng dưới lưu lượng cao điểm dự kiến

Kiểm thử chịu tải

Đẩy hệ thống vượt giới hạn để tìm điểm gãy

Kiểm thử hiệu năng

Đánh giá tốc độ, khả năng mở rộng và độ tin cậy

Kiểm thử khả năng phục hồi

Xem hệ thống xử lý sự cố vùng và chuyển đổi dự phòng ra sao

Phân biệt proxy và bộ cân bằng tải

Decodo giải thích bộ cân bằng tải phân phối yêu cầu tới các máy chủ phía sau, còn proxy thay đổi nơi lưu lượng xuất phát. Hai thứ nằm ở hai đầu khác nhau của bài kiểm thử.

Hiểu đúng vai trò của proxy giúp anh em thiết kế kịch bản kiểm thử có ý nghĩa.

Nguyên tắc pháp lý khi dùng proxy cho load testing JMeter

Kiểm thử tải tạo ra lưu lượng lớn. Nếu nhắm sai đích, nó không khác gì một cuộc tấn công.

Chỉ kiểm thử hệ thống của mình

Decodo nêu rõ anh em có thể mô phỏng tình huống quá tải trên chính hệ thống của mình cho mục đích kiểm thử, và phải tuân theo quy định của tổ chức cùng pháp luật trước khi thực hiện.

ProxyVN chỉ hỗ trợ việc kiểm thử trên hệ thống thuộc quyền sở hữu của anh em hoặc đã có văn bản cho phép của chủ hệ thống. Gửi tải tới hệ thống của người khác là hành vi vi phạm pháp luật.

Thông báo cho các bên liên quan

  • Nhà cung cấp hạ tầng: nhiều dịch vụ đám mây yêu cầu báo trước khi kiểm thử tải lớn.
  • Nhà cung cấp mạng phân phối nội dung và tường lửa: để lưu lượng kiểm thử không bị xử lý như tấn công.
  • Nhà cung cấp proxy: xác nhận gói dịch vụ cho phép mục đích này và đủ băng thông.
  • Đội vận hành nội bộ: tránh báo động giả.

Ưu tiên môi trường thử nghiệm

Anh em nên chạy trên môi trường thử nghiệm có cấu hình giống môi trường thật. Nếu buộc phải chạy trên hệ thống thật, hãy chọn khung giờ thấp điểm và có sẵn phương án dừng.

Một bài kiểm thử tải tốt trả lời được câu hỏi hệ thống chịu được bao nhiêu. Một bài kiểm thử tải thiếu kiểm soát tự biến thành sự cố.

Tuân thủ các nguyên tắc này bảo vệ cả hệ thống lẫn uy tín của anh em.

Chọn loại IP làm proxy cho load testing JMeter

Loại proxy ảnh hưởng tới độ sát thực và chi phí của bài kiểm thử.

Proxy dân cư

Trong ví dụ của ProxyScrape, một trang thương mại điện tử bị chậm vào giờ cao điểm đã dùng JMeter với proxy dân cư để mô phỏng hàng nghìn người dùng từ nhiều địa điểm. Bài kiểm thử chỉ ra việc hiển thị hình ảnh là điểm nghẽn.

IP dân cư là địa chỉ của người dùng thật, nên các lớp bảo vệ xử lý chúng như khách truy cập thông thường. Đây là lựa chọn sát thực nhất.

Proxy datacenter

Nhóm này có tốc độ cao, độ trễ thấp và chi phí thấp. Theo bài viết của ProxyScrape về proxy cho kiểm thử phần mềm, proxy datacenter phù hợp với các tác vụ cần tốc độ.

Nếu mục tiêu là đo sức chịu của ứng dụng thay vì đo phản ứng của lớp bảo vệ, datacenter là lựa chọn kinh tế. Độ trễ thấp của proxy cũng ít làm nhiễu số đo.

Bảng so sánh

Bảng so sánh

Tiêu chí

Dân cư

Datacenter

Độ sát với người dùng thật

Cao

Trung bình

Độ trễ cộng thêm

Cao hơn, dao động

Thấp, ổn định

Chi phí

Tính theo dung lượng, cao hơn

Tính theo IP, thấp hơn

Phân bố địa lý

Rộng, tới cấp thành phố

Theo vị trí trung tâm dữ liệu

Phù hợp

Kiểm thử phân tán theo vùng, kiểm tra lớp bảo vệ

Đo công suất ứng dụng, khối lượng lớn

Ước tính băng thông

Kiểm thử tải tiêu tốn dung lượng rất nhanh. Decodo niêm yết proxy dân cư từ khoảng 2,75 tới 4 USD mỗi gigabyte tùy gói.

Anh em lấy kích thước trung bình của một phản hồi nhân với tổng số yêu cầu để ước tính. Với khối lượng lớn, gói không giới hạn băng thông tính theo IP thường hợp lý hơn. Bài nên mua proxy theo port hay băng thông phân tích kỹ.

Số kết nối đồng thời

Bài kiểm thử mở hàng trăm kết nối cùng lúc. Anh em xác nhận với nhà cung cấp về giới hạn kết nối đồng thời của gói trước khi chạy.

Chọn loại proxy theo câu hỏi cần trả lời giúp kết quả đo có giá trị sử dụng.

Cấu hình proxy cho load testing JMeter trên giao diện

Phần này đi theo các bước của ProxyScrape. Anh em thay địa chỉ proxy và trang đích bằng thông tin của mình.

Tạo Thread Group và HTTP Request

Tạo Thread Group và HTTP Request

Cài đặt và khởi động

Tải JMeter từ trang tải về chính thức của Apache. Sau khi giải nén, anh em vào thư mục bin và chạy tệp jmeter.bat trên Windows.

JMeter cần Java cài sẵn trên máy. Giao diện đồ họa chỉ nên dùng để dựng và chạy thử kịch bản, không dùng cho bài kiểm thử lớn.

Tạo Thread Group

  • Nhấp chuột phải vào Test Plan.
  • Chọn Add, Threads (Users), rồi Thread Group.
  • Thiết lập các tham số theo bảng sau.
Tạo Thread Group

Tham số

Ý nghĩa

Ví dụ

Number of Threads

Số người dùng mô phỏng

10

Ramp-up Period

Thời gian để khởi động hết số luồng, tính bằng giây

1

Loop Count

Số lần mỗi luồng lặp lại kịch bản

1

Anh em có thể bật thêm bộ lập lịch để giới hạn thời gian chạy.

Thêm HTTP Request

  • Nhấp chuột phải vào Thread Group.
  • Chọn Add, Sampler, rồi HTTP Request.
  • Ở ô Server Name or IP, nhập tên miền đích, không kèm phần giao thức.
  • Ở ô Path, nhập đường dẫn, dùng dấu gạch chéo cho trang chủ.

Mỗi trang cần kiểm thử là một HTTP Request riêng.

Nhập proxy trong thẻ Advanced

Trong HTTP Request, anh em mở thẻ Advanced và điền phần Proxy Server:

  • Scheme: http.
  • Server Name or IP: địa chỉ máy chủ proxy.
  • Port Number: cổng của proxy.
  • Username và Password: nếu proxy yêu cầu xác thực.

Để áp dụng cho mọi yêu cầu, anh em thêm phần tử HTTP Request Defaults và nhập proxy tại đó thay vì nhập ở từng yêu cầu.

Thêm Listener và chạy

  • Nhấp chuột phải vào Thread Group, chọn Add, Listener.
  • Chọn View Results Tree để xem kết quả từng yêu cầu.
  • Bấm nút mũi tên màu xanh để chạy.

View Results Tree giúp kiểm tra kịch bản có đúng không. Anh em gửi thử một yêu cầu tới trang trả về IP để xác nhận lưu lượng đi qua proxy.

Dựng xong kịch bản trên giao diện, bước tiếp theo là chạy bằng dòng lệnh.

Chạy proxy cho load testing JMeter bằng dòng lệnh

Bài kiểm thử thật nên chạy ở chế độ không giao diện để tiết kiệm tài nguyên. Các tham số dưới đây là của JMeter, ProxyVN trình bày như ví dụ triển khai chung.

Lệnh cơ bản

jmeter -n -t ke-hoach.jmx -l ket-qua.jtl

Tham số n bật chế độ không giao diện, t chỉ tệp kế hoạch và l chỉ tệp ghi kết quả.

Thêm proxy qua tham số

jmeter -n -t ke-hoach.jmx -l ket-qua.jtl -H proxy-host -P 8080 -u USERNAME -a PASSWORD
Thêm proxy qua tham số

Tham số

Ý nghĩa

-H

Địa chỉ máy chủ proxy

-P

Cổng proxy

-u

Tên đăng nhập proxy

-a

Mật khẩu proxy

-N

Danh sách máy chủ không đi qua proxy

Proxy đặt bằng tham số áp dụng cho toàn bộ bài kiểm thử. Giá trị nhập trong thẻ Advanced của từng yêu cầu sẽ được ưu tiên hơn.

Loại trừ máy chủ nội bộ

jmeter -n -t ke-hoach.jmx -l ket-qua.jtl -H proxy-host -P 8080 -N "localhost|*.noibo.vn"

Các mục trong danh sách ngăn cách bằng dấu gạch đứng. Lệnh gọi tới dịch vụ nội bộ sẽ đi thẳng.

Xuất báo cáo

jmeter -n -t ke-hoach.jmx -l ket-qua.jtl -e -o bao-cao

Tham số e và o yêu cầu JMeter tạo bảng điều khiển dạng trang web trong thư mục chỉ định sau khi chạy xong. Thư mục này phải trống hoặc chưa tồn tại.

Lưu ý về bảo mật

Mật khẩu đặt trên dòng lệnh có thể bị lưu trong lịch sử lệnh. Trên máy dùng chung, anh em nên dùng proxy xác thực bằng IP hoặc đọc mật khẩu từ biến môi trường.

Bài xác thực proxy bằng IP whitelist hay user password so sánh hai cách.

Dòng lệnh là cách chạy tiêu chuẩn cho mọi bài kiểm thử có quy mô.

Xoay nhiều proxy cho load testing JMeter

Một proxy duy nhất vẫn là một IP. Để mô phỏng nhiều nguồn, anh em cần nhiều địa chỉ.

Xoay nhiều proxy bằng tệp CSV

Xoay nhiều proxy bằng tệp CSV

Cách một: cổng xoay của nhà cung cấp

Đây là cách đơn giản nhất. Anh em nhập một địa chỉ cổng xoay, nhà cung cấp tự đổi IP sau mỗi kết nối.

JMeter mặc định giữ kết nối mở giữa các yêu cầu. Để mỗi yêu cầu nhận IP mới, anh em bỏ chọn Use KeepAlive trong HTTP Request. Việc này làm tăng chi phí thiết lập kết nối, nên cần tính tới khi đọc số đo.

Cách hai: danh sách proxy trong tệp CSV

Anh em tạo tệp chứa danh sách proxy, mỗi dòng một địa chỉ:

proxyHost,proxyPort
203.0.113.10,8080
203.0.113.11,8080
203.0.113.12,8080

Sau đó cấu hình trong JMeter:

  • Nhấp chuột phải vào Thread Group, chọn Add, Config Element, CSV Data Set Config.
  • Ở ô Filename nhập đường dẫn tệp.
  • Để Variable Names là proxyHost,proxyPort.
  • Đặt Recycle on EOF là True và Sharing mode là All threads.
  • Trong thẻ Advanced của HTTP Request, nhập ${proxyHost} vào ô máy chủ và ${proxyPort} vào ô cổng.

Mỗi luồng đọc một dòng ở mỗi vòng lặp, nên các người dùng mô phỏng đi qua các proxy khác nhau.

Cách ba: phân bổ theo quốc gia

Thêm cột quốc gia vào tệp CSV và sắp xếp tỷ lệ dòng theo phân bố người dùng thật. Nếu sáu phần mười khách hàng ở Việt Nam, sáu phần mười số dòng nên là proxy Việt Nam.

Cách này cho ra bài kiểm thử phản ánh đúng cơ cấu lưu lượng. Bài geo-targeting proxy là gì giải thích cách chọn vị trí.

Giữ phiên cho kịch bản có đăng nhập

Kịch bản gồm đăng nhập, thêm giỏ hàng và thanh toán cần một IP cho cả chuỗi. Anh em dùng proxy giữ phiên cố định và gán mỗi luồng một proxy, không đổi giữa chừng.

Bài sticky session proxy là gì hướng dẫn thiết lập.

Chọn cách xoay phù hợp với kịch bản giúp bài kiểm thử vừa sát thực vừa cho số đo đáng tin.

Đọc kết quả khi dùng proxy cho load testing JMeter

Proxy thêm một chặng vào đường đi của yêu cầu. Anh em cần tính tới điều đó khi diễn giải số liệu.

Đọc kết quả kiểm thử

Đọc kết quả kiểm thử

Ba chỉ số chính

ProxyScrape nhắc tới ba chỉ số:

  • Thông lượng: số yêu cầu hệ thống xử lý được trong một đơn vị thời gian.
  • Độ trễ: thời gian chờ phản hồi.
  • Tỷ lệ lỗi: phần trăm yêu cầu thất bại.

Anh em nên xem thêm các mức phân vị của thời gian phản hồi, vì giá trị trung bình che mất những yêu cầu chậm nhất.

Tách độ trễ của proxy

Thời gian phản hồi đo được gồm cả chặng tới proxy. Anh em chạy một bài nhỏ không qua proxy và một bài qua proxy với cùng tải thấp để lấy chênh lệch làm mốc.

Proxy datacenter gần hệ thống đích cho độ trễ cộng thêm nhỏ và ổn định. Proxy dân cư dao động nhiều hơn, phản ánh đúng trải nghiệm của người dùng ở xa.

Phân biệt lỗi của proxy và lỗi của hệ thống

Phân biệt lỗi của proxy và lỗi của hệ thống

Mã lỗi

Nguồn gốc thường gặp

Ý nghĩa

407

Proxy

Sai thông tin xác thực proxy

502, 504 từ proxy

Proxy

Proxy quá tải hoặc không tới được đích

429

Hệ thống đích

Chạm giới hạn tần suất

500, 503

Hệ thống đích

Ứng dụng quá tải hoặc lỗi

Hết thời gian chờ kết nối

Cả hai

Cần đối chiếu nhật ký hai bên

Nếu không tách hai nhóm này, anh em có thể kết luận sai rằng ứng dụng yếu trong khi nguyên nhân là proxy quá tải. Bài 502 bad gateway là gì và 504 gateway timeout giải thích các mã này.

Theo dõi phía máy chủ

Số liệu của JMeter chỉ là góc nhìn từ phía máy khách. Anh em cần xem đồng thời mức dùng bộ xử lý, bộ nhớ, cơ sở dữ liệu và nhật ký của ứng dụng để tìm đúng điểm nghẽn.

Máy phát tải cũng có giới hạn

Một máy chạy JMeter chỉ tạo được một lượng tải nhất định. Khi máy phát tải quá tải, số đo sẽ sai. Với bài lớn, anh em chia ra nhiều máy phát.

Diễn giải cẩn thận giúp bài kiểm thử dẫn tới đúng việc cần tối ưu.

Kiểm thử ngoài tải với proxy cho load testing JMeter

Hạ tầng proxy dùng cho kiểm thử tải còn phục vụ nhiều loại kiểm thử khác. ProxyScrape liệt kê các nhóm chính.

Kiểm thử bản địa hóa

Xác minh nội dung hiển thị đúng theo từng khu vực, gồm loại tiền, ngôn ngữ và chương trình khuyến mãi. Proxy dân cư tại đúng quốc gia cho kết quả sát nhất.

Kiểm thử hiệu năng theo địa lý

Đo tốc độ tải và khả năng truy cập của website từ nhiều địa điểm. Kết quả cho biết khu vực nào cần thêm điểm phân phối nội dung.

Giám sát lưu lượng HTTP và HTTPS

Ghi lại, phân tích và chỉnh sửa lưu lượng giữa ứng dụng và máy chủ bằng proxy gỡ lỗi. Bài Charles Proxy là gì của ProxyVN giới thiệu công cụ này.

Kiểm thử bảo mật

Xác nhận dữ liệu nhạy cảm được mã hóa trước khi gửi đi. Đây là bước không nên bỏ qua trước khi phát hành.

Công cụ khác ngoài JMeter

Decodo cho biết proxy của họ làm việc với JMeter, K6, Locust, Gatling và mọi công cụ hỗ trợ HTTP, HTTPS hoặc SOCKS5. Nguyên tắc cấu hình tương tự nhau ở các công cụ này.

Đầu tư một lần cho hạ tầng proxy, anh em dùng được cho cả chu trình kiểm thử.

Để có dải IP cho kịch bản JMeter, anh em mua proxy theo ngày tại ProxyVN, thuê càng dài giá càng tốt.

Tiêu chí chọn nhà cung cấp proxy cho load testing JMeter

Kiểm thử tải đặt ra yêu cầu khắt khe về năng lực của proxy.

  • Cho phép số kết nối đồng thời lớn: xác nhận giới hạn trước khi chạy.
  • Băng thông đủ lớn hoặc không giới hạn.
  • Có IP tại các quốc gia của người dùng thật.
  • Độ trễ thấp và ổn định: để không làm nhiễu số đo.
  • Có cổng xoay và danh sách IP tĩnh: phục vụ cả hai cách xoay.
  • Chấp thuận mục đích kiểm thử tải và có hỗ trợ kỹ thuật trong lúc chạy.

ProxyVN duy trì đường truyền ổn định, hạn chế mất kết nối giữa chừng. Đội kỹ thuật hỗ trợ 24/24, anh em nên trao đổi trước về quy mô bài kiểm thử để được tư vấn gói phù hợp.

Tóm lại, anh em chỉ kiểm thử hệ thống của mình, dựng kịch bản trên giao diện rồi chạy bằng dòng lệnh, xoay proxy theo phân bố người dùng thật và tách lỗi của proxy khỏi lỗi của ứng dụng khi đọc kết quả. Cần tư vấn, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để chọn proxy cho load testing JMeter.

TIN TỨC LIÊN QUAN