1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
import time
import gevent.pool
import requests
def main(n=1000, concurrency=10, url="http://127.0.0.1/"):
def run(client):
response = client.get(url)
assert response.status_code == requests.codes.ok
client = requests.Session()
group = gevent.pool.Pool(size=concurrency)
for i in range(5):
now = time.time()
for _ in range(n):
group.spawn(run, client)
group.join()
delta = time.time() - now
req_per_sec = n / delta
print(f"request count:{n}, concurrency:{concurrency}, {req_per_sec:.2f} req/s")
if __name__ == "__main__":
# main(n=10, concurrency=5, url="https://github.com")
main()
|