It is to maintain application benchmark test scripts including:
- Scripts which setup benchmark test server and client
- Scripts which perform benchmark test
Bebfore running Ansible, it is necessary to create new account on target servers. Then the later test could use this account to login in target servers without password. As for how to create new accounts automatically, please refer to createuser.sh
It is required to write new benchmark scripts based on
ansible
framework. In addition, some existing old scripts might be changed toansible
framework in the future. As for test cases based onansible
framework, it might be necessary to change some configurations before setting up benchmark test based on real test environment, such as:ansible/hosts
which specifies test hosts, andansible/group_vars/*
which define variables for this test.
Usually it is only necessary to execute following commands in order to perform benchmark test for each application:
./setup.sh
to setup client and server side;./run_{test/xxx}.sh
to perform benchmark test on client side
Currently the following applications have been supported so far :
-
Basic Test
- CPU
- IO
- Memory
- Network
- JVM
-
MySQL(Percona Server)
-
AliSQL
-
ARM64 Based E-Commerce Application Solutions
-
Docker Networks
Usually the Ansible role need to be configured and could be reused for difference application benchmark tests (or ansible playbook).
Currently the following applications ansible roles have been supported:
Application Name | Notes |
---|---|
spec_cpu2006 | CPU Test Role |
FIO | FIO Test Role |
Sysbench | Sysbench Role |
LmBench | LmBench |
Stream | Stream Test Role |
Iperf/Qperf/NetPerf | Network Performance Test Role |
MySQL | MySQL Test Role |
Percona Server | Percona Server Test Role |
Redis | Redis Test Role |
twemproxy | Twemproxy Test role |
estuaryrepo | Provision Estuary Repository |
nginx | Nginx Web Server Role |
nginx-reverse-proxy | Nginx Load Balancer Role |
wrk | WRK Test Role |
php-fpm | PHP-FPM Role |
solr | Single Role Role |
solrcloud | Single Cloud Role |
jmeter | Apache JMeter Role |
docker | Install Docker Role |
docker_net | Docker Network(including Flannel, Weave) Roles |
irqbalance | Set Irqbalance Role |
openjdk | Install OpenJDK Role |
weighttp | Weighthttp Role |
kafka | Apache Kafka Role |
flume | Flume Role |
cart | E-commerce Cart MicroService Role |
search | E-commerce Search MicroService Role |
order | E-commerce Order MicroService Role |
zuul-apigateway | Sring Cloud Zuul Role |
eureka-service-discovery | Spring Cloud Eureka Role |
createuser | Create new user account role |
mount | Mount new devices role |
syscfg | Provision Kernel Parameters role |
- As for how to write new test case for applications, please refer to how_to_write_newcase