Closed zhiminghufighting closed 3 years ago
/cc @grahamwhaley sinse he is working on PnP stuff @grahamwhaley any thoughts ?
Similar to #668, @egernst and @GabyCT have worked with ab/nginx tests v.recently and may have insight or have witnessed/worked around this... /cc'ing them for insights etc.
/cc @bekars
There are some new founds about fluctuation of QPS of nginx, please see test data:
QPS | 100 | 200 | 500 | 1000 | Tools |
---|---|---|---|---|---|
HostB <--> Host A: docker runc + bridge + port mapping mode nginx: worker process 1 worker connections 1024 | 9224 - 9456 | 9261 - 9458 | 8207 - 9268 | 5651 -7668 | Apache bench |
11975 - 12008 | 11200 - 11976 | 9356 - 11927 | 8609 - 10561 | Hey.go | |
Host B <--> Host A: kata runtime + bridge +port mapping mode nginx: worker process 1 worker connections 1024 kata: vcpu num = 1 mem=2048M | 8806 - 9388 | 6400 - 9634 | 6877 - 9042 | 2668 -4787 | Apache bench |
9105 - 11994 | 10164 - 12011 | 8324 - 10196 | 2665 - 6061 | Hey.go | |
Host B <--> Host A: kata runtime + bridge +port mapping mode nginx: worker process 8 worker connections 1024 kata: vcpu num = 1 mem=2048M | 8283 - 9543 | 6689 - 8975 | 7130 - 9452 | 2676 - 5320 | Apache bench |
9605 -11821 | 8879 - 9297 | 10010 - 11510 | 2359 -6310 | Hey.go | |
Host B <--> Host A: kata runtime + bridge +port mapping mode nginx: worker process 8 worker connections 1024 kata: vcpu num = 8 mem=2048M | 8127 - 8765 | 6813 - 8413 | 7430 - 8925 | 2925 - 4323 | Apache bench |
7853 - 9605 | 8879 - 9297 | 6739 - 9192 | 2359 -5198 | Hey.go |
The data shows with the same configurations(vcpu =1 or 8; worker processes = 1 or 8, concurrency = 100/200/500): 1.the fluctuation of nginx qps is smaller by hey than by apache bench for kata; 2.the qps result is better by hey than by apache bench for kata and runc; 3.there is a big performance drop when concurrency = 1000 for kata whatever the value of vcpu/worker processes/concurrency is under the test by ab or hey;
Thanks Zhiming
qps performance of nginx running in kata container has big fluctuation
kata runtime 1.1.0 &1.2.0 under test machine 1: HW: physical core number:24 logical core :48 Mem: 188G OS: Ubuntu 16.04 nignx version: 1.15.2 nginx image(nginx image is pulled from public image hub of docker.io) ulimit -n =1024576 storage driver: direct-lvm mode; vcpu = 1,2, 4,8, 32; nginx worker =1, 8;
under test machine 2: HW: physical core number:4 logical core :8 Mem: 16G OS: Centos 7.3 nignx version: 1.15.2 nginx image(nginx image is pulled from public image hub of docker.io) ulimit -n =1024 storage driver: direct-lvm mode; vcpu=1, 2, 4, 8; nginx worker = 1, 8;
Expected result
qps performance of nginx should be stable and there is s small fluctuation around a value;
for example, nginx running on runc will have a very fluctuation value( <+5% &<-5%) around the average value in the same environment;
Actual result
on the other test machine to run "ab -n 10000 -c 100/200/500/1000 http://targetip:8080/" to stress the qps performance of nginx running in above machines 1 &2; we can find, the qps result will with big fluctuation as below: in machine1 : vcpu = 4, 8, nginx worker =8, qps with average value ~30000, the worst value is ~10000, the best value is ~60000; other vcpu and nginx worker number will have the same big fluctuation;
in machine 2: vcpu = 4, 8, nginx worker =8, qps with average value ~8000, the worst value is ~5000, the best value is ~9500;
Meta details
found the same issue on kata-runtime 1.2.0 and the log as below:
Running
kata-collect-data.sh
version1.2.0 (commit 0bcb32f)
at2018-08-31.14:03:26.534724570+0800
.Runtime is
/bin/kata-runtime
.kata-env
Output of "
/bin/kata-runtime kata-env
":Runtime config files
Runtime default config files
Runtime config file contents
Config file
/etc/kata-containers/configuration.toml
not found Output of "cat "/usr/share/defaults/kata-containers/configuration.toml"
":Image details
Initrd details
No initrd
Logfiles
Runtime logs
Recent runtime problems found in system journal:
Proxy logs
Recent proxy problems found in system journal:
Shim logs
No recent shim problems found in system journal.
Container manager details
Have
docker
Docker
Output of "
docker version
":Output of "
docker info
":Output of "
systemctl show docker
":Have
kubectl
Kubernetes
Output of "
kubectl version
":Output of "
kubectl config view
":Output of "
systemctl show kubelet
":No
crio
Packages
No
dpkg
Haverpm
Output of "rpm -qa|egrep "(cc-oci-runtimecc-runtimerunv|kata-proxy|kata-runtime|kata-shim|kata-containers-image|linux-container|qemu-)"
":