Alexander Ivanov made some performance tests for the gun itself. Here are the results.
Static pages with different sizes. Server delays implemented in Lua script, we can
set delay time using sleep
query parameter:
server {
listen 12999 default;
listen [::]:12999 default ipv6only=on;
server_name pandora.test.yandex.net;
location ~* / {
rewrite_by_lua_block {
local args = ngx.req.get_uri_args()
if args['sleep'] then
ngx.sleep(args['sleep']/1000)
end;
}
root /etc/nginx/pandora;
error_page 404 = 404;
}
access_log off;
error_log off;
}
All good.
Custom scenarios performance depends very much of their implementation. In some our
test we saw spikes caused by GC. They can be avoided by reducing allocation size.
It is a good idea to optimize your scenarios.
Go has a lot <https://github.com/golang/go/wiki/Performance>
_ of tools helping you
to do this.
.. note:: We used JSON-formatted ammo to specify parameters for each scenario run.