-
-
Notifications
You must be signed in to change notification settings - Fork 604
Testing OSv performance on EC2
daynix edited this page Mar 23, 2014
·
2 revisions
- Testing is done on instances with 10G networking
- Preferred instance type is cc2.8xlarge as is runs on top of the latest Xen version used by Amazon
- Throughput is tested using netperf application
- Throughput is measured for two pairs of instances – PV Linux VS HVM Linux and PV Linux VS (HVM) OSv, then results compared
- Throughput is measured between internal instance IP addresses available via EC2 management Web interface after instance launched
- All instances reside in the same EC2 placement group during testing
- Netperf tests being executed are TCP_STREAM (TCP RX), TCP_MAERTS (TCP TX), UDP_STREAM (UDP RX), TCP_RR (roundtrip time)
- Tests executed for a number of netperf buffer sizes (32 bytes up to 64Kbytes)
- Netperf invocations and results collection automated using netperf wrapper scripts from Windows KVM guest drivers repository (https://github.com/YanVugenfirer/kvm-guest-drivers-windows/tree/master/NetKVM/Tests)
- Login to EC2 management console of desired region: https://console.aws.amazon.com/ec2/v2/home?region=ap-southeast-2
- Create a placement group: https://console.aws.amazon.com/ec2/home?region=ap-southeast-2#s=PlacementGroups
- Create a security group allowing all packets in both directions: https://console.aws.amazon.com/ec2/home?region=ap-southeast-2#s=SecurityGroups
- Launch 2 10G Linux instances – one PV and one HVM using EC2 launch wizard (https://console.aws.amazon.com/ec2/v2/home?region=ap-southeast-2 - LaunchInstanceWizard:), i.e.
- Amazon Linux AMI x86_64 HVM EBS
- Amazon Linux AMI x86_64 PV EBS choose hs1.8xlarge instance type, placement group created on step 2, security group created on step 3
- Launch desired OSv instance of the same type (hs1.8xlarge) into the same placement and security groups, use the same instance type
- Install netperf on Linux instances
- Run netserver of HVM Linux instance and OSv
- Download netperf wrapper scripts to PV Linux instance
- Edit netperf_wrapper.rb script, add desired tests to the test list (TEST_CASES variable) and put internal IP address of HVM Linux instance into test_server variable
- Run netperf_wrapper.rb
- Edit netperf_wrapper.rb script again, put internal IP address of OSv instance into test_server variable
- Run netperf_wrapper.rb again
- Results will be stored in text files named test_log_.log in current working directory
- Parse testing results with netperf_log_parser.rb, the script outputs tables with throughput measurements results per test and per buffer size