networking - Load Testing Thousands of SLOW Connections -


i test upload service hundreds, if not thousands, of slow https connections simultaneously. have lots of, say, 3g-quality connections, each throttled low bandwidth , high latency, each sending few megabytes of data server, resulting in lots of concurrent, long-lived requests being handled server.

there many load generation tools can generate thousands of simultaneous requests. (i'm using locust, can take advantage of existing client library written in python.) such tools typically run each concurrent request fast possible on shared network link.

there various ways adjust apparent bandwidth , latency of tcp connections, such linux's tc , handy wrappers comcast.

as far can tell, tc , control shared link cannot throttle individual requests. if want throttle single request, tc works well. in theory, many clients sharing same throttled network link, each request run serially, subject constrained bandwidth, rather having lots of requests executing concurrently, few packets @ time. former result in fewer active requests executing concurrently on server.

i suspect tool want has actively manage each individual client's sending , receiving throttle them fairly. there such tool?

you can take @ apache jmeter, can "throttle" connections throughput configurable via following properties:

httpclient.socket.http.cps=0 httpclient.socket.https.cps=0 

the properties can defined either in user.properties file or passed jmeter via -j command-line argument

cps stands character per second can "slow down" jmeter threads (virtual users) given throughput rate, formula cps calculation is:

cps = (target bandwidth in kbps * 1024) / 8  

check out how simulate different network speeds in jmeter load test more information.


Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -