pandora

Home


Pandora’s performance

Alexander Ivanov made some performance tests for the gun itself. Here are the results.

HTTP requests to nginx

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;
}

Connection:Close, response times distribution

Keep-Alive, response times distribution

100 kb responses, network load

All good.

10s server delay, response times distribution

10s server delay, instances count

server fail emulation, response times quantiles

Custom scenarios

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.

scenario steps


Home