Skip to content
Tzach Livyatan edited this page Feb 20, 2015 · 10 revisions

The following describe the details of the HTTPD benchmark making it reproducible. Let us know if you find anything is missing.

Test bed:

  • Server 1: HTTPD
  • Server 2: Client

Latest Results (Feb 19)

cpu # request/sec
2 637,430
4 1,303,761
6 1,907,912
8 2,493,690
12 3,495,012
16 4,385,829
20 5,359,786
24 6,291,073
28 6,826,827
32 6,869,199

Software

Server 1 (HTTPD) Setup:

  1. Fetch dpdk from upstream (support for i40e is not sufficient in 1.8.0)
  2. update config/common_linuxapp
  3. update CONFIG_RTE_MBUF_REFCNT to 'n'
  4. update CONFIG_RTE_MAX_MEMSEG=4096
  5. follow instructions from Seastar readme on DPDK installation for 1.8.0
  • hugepages define 2048,2048 pages
  • compile seastar
  1. sudo build/release/apps/httpd/httpd --network-stack native --dpdk-pmd --dhcp 0 --host-ipv4-addr $seastar_ip --netmask-ipv4-addr 255.255.255.0 --collectd 0 --smp $cpu

Server 2 (http_client) Setup

  1. Steps 1-5 listed in Server 1

  2. tcpu=$(($cpu+2))

  3. sudo build/release/apps/seawreck/seawreck --server $seastar_ip:10000 --host-ipv4-addr $tester_ip --dhcp 0 --netmask-ipv4-addr 255.255.255.0 --network-stack native --dpdk-pmd --collectd 0 --duration 60 --smp $tcpu --conn $tcpu*64

Hardware

2 servers connected B2B with 40Gb

Complete info on HW (some of this is not intersting the disks / nvme are irrelevant to our tests)

Benchmark consists of two identical PCSD server systems:

2x Xeon E5-2695v3: 2.3GHz base, 35M cache, 14 core -> 28 core with HT -> 56 cores per host

  • 8x 8GB DDR4 Micron memory

  • 12x 300GB Intel S3500 SSD (in RAID5, 3TB of storage for OS)

  • 2x 400GB Intel NVMe P3700 SSD (not mapped in OS, just in case additional storage is needed)

  • 2x Intel Ethernet CNA XL710-QDA1 (two cards per server, cards are separated by CPUs (card1 -> CPU1, card2 -> CPU2))

  • FW info: Default BIOS settings (TurboBoost enabled, HyperThreading enabled)

  • OS info: Fedora Server 21, update with the latest updates

$ uname –a 
$ Linux dpdk1 3.17.8-300.fc21.x86_64 #1 SMP Thu Jan 8 23:32:49 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
  • Memory info
$ cat /proc/meminfo 
MemTotal:       65863740 kB
MemFree:        38001084 kB
MemAvailable:   51301220 kB
Buffers:          222920 kB
Cached:         12604700 kB
SwapCached:            0 kB
Active:          6293256 kB
Inactive:        6843112 kB
Active(anon):     325288 kB
Inactive(anon):    41040 kB
Active(file):    5967968 kB
Inactive(file):  6802072 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:      32964604 kB
SwapFree:       32964604 kB
Dirty:               296 kB
Writeback:             0 kB
AnonPages:        334008 kB
Mapped:           161276 kB
Shmem:             33068 kB
Slab:            1079412 kB
SReclaimable:     867968 kB
SUnreclaim:       211444 kB
KernelStack:       13824 kB
PageTables:         8444 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    59605016 kB
Committed_AS:    2319944 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      461432 kB
VmallocChunk:   34325711636 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:    6144
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      851300 kB
DirectMap2M:    26314752 kB
DirectMap1G:    41943040 kB
  • CPU info
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 63
model name    : Genuine Intel(R) CPU @ 2.30GHz
stepping    : 2
microcode    : 0x2a
cpu MHz        : 1199.953
cache size    : 35840 KB
physical id    : 0
siblings    : 28
core id        : 0
cpu cores    : 14
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 15
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs        :
bogomips    : 4588.93
clflush size    : 64
cache_alignment    : 64
address sizes    : 46 bits physical, 48 bits virtual
power management:

Same spec for CPU 1-55