| jtest is a performance stress tool for high performance proxy server |
| Apache Traffic Server. |
| |
| jtest works at both UA and OS side when benchmarking the proxy, sure |
| you can run client or server only. |
| |
| |
| Here is a step-by-step guide for benchmark Apache Traffic Server with jtest: |
| On localhost: |
| 1, setup the remap rules in Apache Traffic Server: |
| add the following line into remap.config: |
| map http://localhost:9080/ http://127.0.0.1:9080/ |
| 2, run jtest: |
| jtest |
| which is equal to "jtest -s 9080 -S localhost -p 8080 -P localhost", |
| will setup 100 connections (-c), push a hit ratio at 40% (-z), run as |
| fast as possible. |
| |
| The output of jtest: |
| con new ops 1byte lat bytes/per svrs new ops total time err |
| 100 468 2329.6 39 39 36323315/363233 617 617 617 46131904 136980.9 0 |
| 100 471 2361.5 39 40 35993941/359939 619 619 619 45466393 136981.9 0 |
| 100 465 2327.0 40 41 35385495/353854 607 607 607 45095273 136982.9 0 |
| con: number of the con-current connections |
| new: the number of created connections |
| ops: the request handled per second |
| lat: response time |
| |
| On separate hosts: |
| 1, determine the roles: |
| we take 'ts.cn' as the domain we are benchmarking, and 192.168.0.1 as |
| the server which is running Apache Traffic Server, 192.168.0.2 as the |
| host we run jtest. |
| 2, setup the remap rules in Apache Traffic Server: |
| in our case, we should add the following lines into remap.config: |
| map http://ts.cn:9080/ http://192.168.0.2:9080/ |
| 3, we run jtest from 192.168.0.2: |
| jtest -S ts.cn -P 192.168.0.1 |
| |
| If you have many hosts running jtest: |
| 1, setup the remap rules in Apache Traffic Server: |
| in our case, we should add the following lines into remap.config: |
| map http://ts.cn:9080/ http://192.168.0.2:9080/ |
| map http://ts.cn:9081/ http://192.168.0.2:9081/ |
| map http://ts.cn:9082/ http://192.168.0.3:9082/ |
| map http://ts.cn:9083/ http://192.168.0.3:9083/ |
| map http://ts.cn:9084/ http://192.168.0.4:9084/ |
| 2, run test: |
| on 192.168.0.2: |
| jtest -S ts.cn -s 9080 -P 192.168.0.1 |
| jtest -S ts.cn -s 9081 -P 192.168.0.1 |
| on 192.168.0.3: |
| jtest -S ts.cn -s 9082 -P 192.168.0.1 |
| jtest -S ts.cn -s 9083 -P 192.168.0.1 |
| on 192.168.0.4: |
| jtest -S ts.cn -s 9084 -P 192.168.0.1 |
| |
| |
| Some common used options: |
| -c, --clients int 100 Clients |
| compare to the -c in ab |
| by default, jtest will make 100 connections. |
| |
| -k, --keepalive int 4 Keep-Alive Length |
| -K, --keepalive_cons int 4 # Keep-Alive Connections (0:unlimit) |
| compare to -k in ab |
| how many Keep-Alive connections and how many requests for each Keep-Alive |
| connections |
| |
| -z, --hitrate dbl 0.400 Hit Rate |
| by default, the hit ratio is 40% |
| |
| -u, --urls str (null) URLs from File |
| you can provide your own URLs, if you do not use jtest on the OS side. |
| |
| -y, --only_clients on false Only Clients |
| -Y, --only_server on false Only Server |
| in-case of you do not use both the server and client |