/appbenchmark

ARM64-based Application Performance Benchmark Tests

Primary LanguageC

Estuary Application Benchmark Test

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 to ansible framework in the future. As for test cases based on ansible 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, and ansible/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 :

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
bigdata Bigdata Install Test role