HTTP Loading Question
Status: Alpha
Brought to you by:
coroberti
From: Feighery, P. D. <fei...@mi...> - 2011-12-08 16:29:21
|
I'm trying to determine how many HTTP transactions per second a particular device can support given one http transaction per each tcp connection. Ideally I would like to generate 100 HTTP TPS every second for X seconds, then increase the load to 200 HTTP TPS every second for X seconds, etc., until I find the threshold. Initially I took the brute force method and wrote a bunch of bash scripts around curl, and was able to successfully generate about 900 TPS. Given my test setup, I believe my bottleneck was forking curl 900 times per second in a bash script. So I found and downloaded and installed curl-load 0.52 and have been trying to understand how I can use it to replace my scripts. Currently I'm using the lo interface to better understand how it works I can't seem to configure curl-loader to match the above configuration When I try the following --- ########### GENERAL SECTION ################################ BATCH_NAME= http CLIENTS_NUM_MAX=12 CLIENTS_NUM_START=6 CLIENTS_RAMPUP_INC=2 INTERFACE =lo NETMASK=29 IP_ADDR_MIN= 10.200.001.1 IP_ADDR_MAX= 10.200.200.255 #Actually - this is for self-control CYCLES_NUM=1 URLS_NUM=1 ########### URL SECTION #################################### URL=http://localhost/index.html URL_SHORT_NAME="BB" REQUEST_TYPE=GET TIMER_URL_COMPLETION = 5000 --- According to the logs During the 0th second it generated 6 HTTP GET transactions During the 1th second it generated 2 HTTP GET transactions During the 2nd second it generated 2 HTTP GET transactions During the 3rd second it generated 2 HTTP GET transactions Is there a way for it to generated 6,8,10,12 transactions per second? Also I want to repeat each loading for X seconds, which I thought I could do with CYCLES_NUM, however when I add CYCLES_NUM=2 I get the following During the 0th second it generated 12 HTTP GET transactions During the 1th second it generated 2 HTTP GET transactions During the 2nd second it generated 2 HTTP GET transactions During the 3rd second it generated 2 HTTP GET transactions Where I would have preferred the following During the 0th second I want it to generate 6 HTTP GET transactions During the 1th second I want it to generate 6 HTTP GET transactions During the 2nd second I want it to generate 8 HTTP GET transactions During the 3rd second I want it to generate 8 HTTP GET transactions During the 4th second I want it to generate 10 HTTP GET transactions During the 5th second I want it to generate 10 HTTP GET transactions During the 6th second I want it to generate 12 HTTP GET transactions During the 7th second I want it to generate 12 HTTP GET transactions >From reading the description of curl-loader it appears that this is possible, can anyone help me with a correct config file. Thanks Pat |