• Kirill Smelkov's avatar
    neotest: Draft software-release to run NEO/go & friends tests/benchmarks under webrunner · 31fe231f
    Kirill Smelkov authored
    We provide neotest SR which builds current NEO/go together with the
    tools which are needed to run the benchmarks. Go part uses
    just-introduced in previous commit gowork infrastructure.
    
    The SR does not yet provide automated service to run the tests
    automatically periodically and to upload the results to ERP5 (all marked
    as TODO).
    
    However with present state it provides all the infrastructure for people
    to try to run NEO tests in their webrunner: a `neotest` program is
    installed in buildout top-level bin/ . One should use it to run the
    tests.
    
    For example:
    
    	slapuser14@vifibcloud-onlinenet-hosting-004:~/srv/runner/t$ ../software/4db21ec948dce895b38ba93c1def3ab1/bin/neotest
    	Neotest is a tool to functionally test and benchmark NEO.
    
    	Usage:
    
    	        neotest command [arguments]
    
    	The commands are:
    
    	        bench-local     run benchmarks when client and server are both on the same localhost
    	        bench-cluster   run benchmarks when server is local and client is on another node
    
    	        run-client      run client benchmarks against separate server
    	        bench-disk      benchmark local disk (already part of bench-{local,cluster})
    	        bench-cpu       benchmark local cpu  (already part of bench-{local,cluster})
    
    	        deploy          deploy NEO & needed software for tests to remote host
    	        deploy-local    deploy NEO & needed software for tests locally
    
    	        info            print information about a node
    	        info-local      print information about local deployment
    
    	Additional utility commands:
    
    	        cpustat         run a command and print CPU-related statistics
    
    	slapuser14@vifibcloud-onlinenet-hosting-004:~/srv/runner/t$ ../software/4db21ec948dce895b38ba93c1def3ab1/bin/neotest info-local
    	# Thu, 19 Oct 2017 18:13:35 +0300
    	# slapuser14@sd-112617.dedibox.fr (2001:67c:1254:e:8c::1 (+ 20·ipv6) 163.172.70.8 (+ 20·ipv4))
    	# Linux vifibcloud-onlinenet-hosting-004 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
    	# cpu: Intel(R) Xeon(R) CPU D-1531 @ 2.20GHz
    	# cpu[0-11]: freq: intel_pstate/powersave [.80GHz - 2.70GHz]
    	# cpu[0-11]: idle: acpi_idle/menu: POLL(0μs) C1(1μs) C2(41μs)
    	# cpu: WARNING: frequency not fixed - benchmark timings won't be stable
    	# cpu: WARNING: C-state exit-latency is max 41μs - up to that can add to networked and IPC request-reply latency
    	# md1 (raid0) -> sda3  sdb3
    	# sda: SAMSUNG MZ7LN256  rev 100Q 238.5G
    	# sdb: SAMSUNG MZ7LN256  rev 100Q 238.5G
    	# eth0: Intel Corporation I350 Gigabit Network Connection rev 01
    	# eth0: features: rx tx sg tso !ufo gso gro !lro rxvlan txvlan !ntuple rxhash ...
    	# eth0: coalesce: rxc: 3μs/0f/0μs-irq/0f-irq,  txc: 0μs/0f/0μs-irq/0f-irq
    	# eth0: up, speed=1000, mtu=1500, txqlen=1000, !gro_flush_timeout
    	# eth1: Intel Corporation I350 Gigabit Network Connection rev 01
    	# eth1: features: rx tx sg tso !ufo gso gro !lro rxvlan txvlan !ntuple rxhash ...
    	# eth1: coalesce: rxc: 3μs/0f/0μs-irq/0f-irq,  txc: 0μs/0f/0μs-irq/0f-irq
    	# eth1: down, speed=?, mtu=1500, txqlen=1000, !gro_flush_timeout
    	# Python 2.7.14
    	# go version go1.9.1 linux/amd64
    	# sqlite 3.19.0 (py mod 2.6.0)
    	# mysqld  Ver 10.1.28-MariaDB for Linux on x86_64 (MariaDB Server)
    	# neo             : v1.8-1326-g4d0cd894
    	# zodb            : 4.4.5
    	# zeo             : 4.3.1
    	# mysqlclient     : 1.3.12
    	# wendelin.core   : v0.11-4-g38fbc83
    
    slapuser14@vifibcloud-onlinenet-hosting-004:~/srv/runner/t$ time ../software/4db21ec948dce895b38ba93c1def3ab1/bin/neotest bench-local 2>&1 |tee 1.txt
    ...
    *** FileStorage
    Benchmarkvifibcloud-onlinenet-hosting-004/fs1/zhash.py 1 24.4 µs/object # crc32:1552c530  oid=0..2127  nread=8534126  t=0.052s  # POLL·0 C1·49 C2·853
    Benchmarkvifibcloud-onlinenet-hosting-004/fs1/zhash.py 1 24.6 µs/object # crc32:1552c530  oid=0..2127  nread=8534126  t=0.052s  # POLL·0 C1·63 C2·894
    Benchmarkvifibcloud-onlinenet-hosting-004/fs1/zhash.py 1 20.7 µs/object # crc32:1552c530  oid=0..2127  nread=8534126  t=0.044s  # POLL·0 C1·39 C2·803
    Benchmarkvifibcloud-onlinenet-hosting-004/fs1/zhash.py 1 20.8 µs/object # crc32:1552c530  oid=0..2127  nread=8534126  t=0.044s  # POLL·1 C1·18 C2·629
    Benchmarkvifibcloud-onlinenet-hosting-004/fs1/zhash.py 1 20.7 µs/object # crc32:1552c530  oid=0..2127  nread=8534126  t=0.044s  # POLL·0 C1·12 C2·669
    ...
    31fe231f
gowork.cfg 2.7 KB