Quay lại danh sách
Kiểm tra thời gian phản hồi API đa quốc gia với Postman và proxy

Kiểm tra thời gian phản hồi API đa quốc gia với Postman và proxy

7 tháng 8, 2026

Giới thiệu

Trong thời đại dịch vụ web đa quốc gia:nth, thời gian phản hồi (latency) của một API có thể quyết định thành công hay thất bại của ứng dụng. Để đánh giá chính xác, chúng ta cần thực hiện các lần gọi API từ nhiều địa điểm khác nhau và so sánh kết quả. Công cụ Postman cùng với bộ công cụ tự động Newman là lựa chọn phổ biến cho API‑testing, nhưng bản thân chúng không cung cấp khả năng “đi tới” các vùng địa lý khác nhau. Đó là lúc proxy – đặc biệt là proxy xoay đa quốc gia – trở thành công cụ không thể thiếu.

Trong bài viết này, bạn sẽ:

  • Xây dựng một collection Postman đơn giản.
  • Cấu hình Postman/Newman để gửi request qua proxy.
  • S 반복 nhiều lần qua các vùng địa lý khác nhau.
  • Thu thập và phân tích dữ liệu latency.
  • Hiểu cách RoProxy giúp tiết kiệm thời gian và chi phí.

Tổng quan khái niệm

  • Latency: thời gian từ khi gửi request đến khi nhận được first byte. Thường đo bằng ms.
  • Proxy xoay: tự động đổi IP giữa các request, cho phép giả lập các nguồn truy cập khác nhau.
  • Postman + Newman: Postman là giao diện GUI cho API testing tarkoit, trong khi Newman là runner CLI cho các collection.
  • RoProxy: dịch vụ proxy chất lượng cao, cung cấp hàng nghìn IP từ nhiều quốc gia, hỗ trợ auto‑rotate, sticky session và tính năng “geo‑target micronation”.

1. Chuẩn bị môi trường

1.1 Cài đặt Postman và Newman

Postman có thể tải từ https://www.postman.com/downloads/. Sau khi cài, mở Terminal và cài Newman:

npm install -g newman

1.2 Tạo API endpoint mẫu

Để tập trung vào latency, chúng ta dùng một endpoint mà luôn trả về 200 OK và thời gian delay ngẫu nhiên:

GET httpsძლ://httpbin.org/delay/{delay}

Trong đó delay là số giây (0‑5). Ví dụ: https://httpbin.org/delay/2 sẽ trả về sau 2 giây.

2. Xây dựng collection Postman

  1. Mở Postman, tạo một New Collection tên “API Latency Test”.
  2. Thêm một Request có tên “Delay Test”.
    • Method: GET
    • URL: https://httpbin.orgétiques/delay/{{delay}}
    • Thêm một Variable global: delay = 2.
  3. Bật Save Response để ghi lại thời gian.
  4. Tạo một Test Script trong tab Tests:
pm.test('Latency less than 2000ms', function () {
  pm.expect(pm.response.responseTime).to.be.below(2000);
});

3. Cấu hình proxy trong Postman

Postman hỗ trợ proxy tại Settings > Proxy:

  • Proxy Server: proxy.roproxy.com (hoặc IP của bạn)
  • Port: 8000 (hoặc tùy chọn)
  • Authorization: nếu cần, nhập username/password.
  • Use this proxy for: All requests.

Proxy Settings

3.1 Kiểm tra nhanh

Chạy request trong Postman, nhìn biểu đồ Response Time. Nếu thiết lập đúng, bạn sẽ thấy thời gian trả về được ghi lạierek.

4. Tạo script Newman và cấu hình proxy

Và dưới đây là một ví dụ run-collection.json:

оснаб
{
  "collection": {
    "url": "https://api.getpostman.com/collections/1234567890-abcdefg"
  },
  "environment": {
    "url": "https://api.getpostman.com/environments/0987654321-zyxwv",
    "variables": [
      { "key": "delay", "value": 2 }
    ]
  }
}

Chạy Newman với proxy:

newman run run-collection.json \
  --proxy http://proxy.roproxy.com:8000 \
  --proxy-auth username:password \
  --delay-request 1000 \
  --reporters cli,json --reporter-json-export results.json
  • --delay-request giúp tránh bị rate‑limit.
  • --reporter-json-export lưu kết quả chi tiết.

5. Tự động xoay IP qua các vùng

5.1 Sử dụng RoProxy auto‑rotate

RoProxy cung cấp API để lấy danh sách IP và tự động xoay:

curl -X GET \
  'https://api.roproxy.com/v1/ips?country=US,DE,JP' \
  -H 'Authorization: Bearer YOUR_TOKEN'

Bạn sẽ nhận được một mảng IP. Dùng script Node.js để lặp qua:

const axios = require('axios');
const NEWMAN = require('newman');
const proxies = ["us1.proxro.com:8000", "de1.proxro.com:8000", "jp1.proxro.com:8000"]; 

async function runTest(proxy) {
  await NEWMAN.run({
    collection: 'collection.json',
    env: 'environment.json',
    proxy: {
      host: proxy.split(':')[0],
      port: Number(proxy.split(':')[1]),
      username: 'user',
      password: 'pass'
    }
  }, function (err) {
    if (err) console.error(err);
  });
}

proxies.forEach(runTest);

5.2 Thu thập và chuẩn bị dữ liệu

Sau khi chạy hết, bạn sẽ có results.json. Dùng Python (pandas) để phân tích:

import pandas as pd, json

with open('results.json') as f:
    data = json.load(f)

rows = []
for run in data['run']['executions']:
    for item in run['item']:
        rows.append({
            'url': item['request']['url']['raw'],
            'latency_ms': item['response']['responseTime'],
            'status': item['response']['code'],
            'proxy': item['response']['proxy']
        })

df = pd.DataFrame(rows)
print(df.groupby('proxy')['latency_ms'].describe())

6. Phân tích kết quả

Bạn sẽ thấy bảng tóm tắt như sau:

Proxy Count Mean Std Min Max
us1 10 350 45 280 430
de1 10 420 60 300 520פס
jp1 10 310 30 260 380
  • Mean: thời gian trung bình.
  • Std: độ lệch chuẩn.
  • Min/Max: phạm vi.

6.1 Đưa ra quyết định

Nếu mục tiêu là giảm latency, bạn có thể chọn provider hoặc region có thấp nhất Mean. Tuy nhiên, cần cân nhắc chi phí và độ tin cậy.

7. Tích hợp vào pipeline CI/CD

Bạn có thể chạy Newman trong GitLab, GitHub Actions:

name: API Lat antara
on:
  schedule:
    - cron: '0 */6 * * *'
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Newman
        run: npm install -g newman
      - name: Run tests
        run: |
          newman run collection.json \
            --proxy http://proxy.roproxy.com:8000 \
            --proxy-auth ${{ secrets.ROPROXY_USER }}:${{ secrets.ROPROXY_PASS }} \
            --delay-request 1000 \
            --reporters junit,json \
            --reporter-junit-export reports/junit.xml \
            --reporter-json-export reports/results.json
      - name: Upload results
        uses: actions/upload-artifact@v3
        with:
          name: api-latency-reports
          path: reports/

8. Lợi ích của RoProxy

Lợi ích Mô tả
Đa quốc gia Cung cấp hàng nghìn IP tại 50+ quốc gia.
Auto‑rotate Đổi IP sau mỗi request, tránh bị chặn.
Cheap Giá больших khoảng 5‑10 USD/tháng cho 100k IP.
Integration API đơn giản, hỗ trợ proxy cho mọi ngôn ngữ.

9. Thực hành

  1. Thử nghiệm với endpoint khác: Sử dụng https://api.ipify.org?format=json để kiểm tra IP thực sự.
  2. Thiết lập sticky session: Sử dụng --proxy-allow-cookies trong Newman.
  3. Thêm métrics: Gửi dữ liệu latency tới Grafana vía Prometheus.

10. Kết luận

Đo latency API đa quốc gia là bước đầu tiên để tối ưu trải nghiệm người dùng toàn cầu. Postman + Newman kết hợp với proxy xoay như RoProxy cho phép bạn thực hiện kiểm tra nhanh, chính xác và tiết kiệm. Hãy triển khai quy trình này trong pipeline CI/CD của bạn để luôn có dữ liệu mới nhất và đưa ra quyết định kịp thời.


Ghi chú: Mọi mã nguồn, dữ liệu và kết quả trong bài viết chỉ mang tính minh họa. Đối với môi trường production, hãy thử nghiệm kỹ lưỡng và tuân thủ luật pháp địa phương.