Changes between Version 34 and Version 35 of PerformanceTesting


Ignore:
Timestamp:
11/18/11 15:57:07 (12 years ago)
Author:
Samuli Seppänen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PerformanceTesting

    v34 v35  
    257257== MP-3 results ==
    258258
    259 === OpenVPN 2.2.1/m1.small/UDP/IPv4/OpenSSL/50 clients (MP-3) ===
    260 
    261 '''Test name:'''  14-mp3-m1.small-openvpn221
    262 
    263 '''Connection establishment'''
    264 
    265 Client initialization phase took 10 seconds, judging from server's CPU load and network traffic levels.
    266 
    267 '''Client statistics'''
    268 
    269 ||'''Test'''||'''Subtest'''||'''Host'''||'''Clients'''||'''Total transfer (MB)'''||'''Total bandwidth (MB/s)'''||'''Average bandwidth (MB/s)'''||
    270 ||14-mp3-m1.small-openvpn221||10s||average||49||210||19.3||0.393878||
    271 ||14-mp3-m1.small-openvpn221||30s||average||49||529.2||15.85||0.323469||
    272 ||14-mp3-m1.small-openvpn221||60s||average||48||1980.64||31.65||0.659375||
     259=== OpenVPN 2.2.1/m1.large/UDP/IPv4/OpenSSL/50 clients (MP-3) ===
     260
     261'''Test names:'''
     262
     263 * 26-mp3.m1.large-openvpn221-1daemon-4iperfs
     264 * 27-mp3.m1.large-openvpn221-1daemon-4iperfs
     265
     266'''Connection establishment'''
     267
     268Connection establishment took 2-3 seconds, with peak CPU load at 11-12%.
     269
     270'''Client statistics'''
     271
     272||'''Test'''||'''Subtest'''||'''Host'''||'''Clients'''||'''Total transfer (MB)'''||'''Total bandwidth (MB/s)'''||'''Average bandwidth (MB/s)'''||
     273||26-mp3.m1.large-openvpn221-1daemon-4iperfs||120s||average||46||2281.18||18.12||0.393913||
     274||27-mp3.m1.large-openvpn221-1daemon-4iperfs||120s||average||45||2334.14||17.96||0.399111||
    273275
    274276'''Server statistics'''
    275277
    276278||'''Test'''||'''Subtest'''||'''Real length'''||'''CPU usr (%)'''||'''CPU sys (%)'''||'''CPU total (%)'''||'''CPU wait (%)'''||
    277 ||14-mp3-m1.small-openvpn221||10s||24||26.7727||52.8184||98.4287||0||
    278 ||14-mp3-m1.small-openvpn221||30+60s||304||23.5826||50.4217||86.8597||0.0105822||
    279 
    280 '''Analysis'''
    281 
    282 Same as for 100 client version of this test, except that the fake performance increase in the last test is not as pronounced.
     279||26-mp3.m1.large-openvpn221-1daemon-4iperfs||120s||130||8.72504||16.1994||30.4042||0.0720923||
     280||27-mp3.m1.large-openvpn221-1daemon-4iperfs||120s||131||8.9546||15.893||30.4252||0.0520763||
    283281
    284282== MP-4 results ==
    285283
    286 === OpenVPN 2.2.1/m1.small/UDP/IPv4/OpenSSL/100 clients (MP-4) ===
    287 
    288 '''Test name:'''  15-mp4-m1.small-openvpn221
    289 
    290 '''Connection establishment'''
    291 
    292 Client initialization phase took 11 seconds, judging from server's CPU load and network traffic levels.
    293 
    294 '''Client statistics'''
    295 
    296 ||'''Test'''||'''Subtest'''||'''Host'''||'''Clients'''||'''Total transfer (MB)'''||'''Total bandwidth (MB/s)'''||'''Average bandwidth (MB/s)'''||
    297 ||15-mp4-m1.small-openvpn221||10s||average||56||264.02||23.43||0.418393||
    298 ||15-mp4-m1.small-openvpn221||30s||average||62||598||17.17||0.276935||
    299 ||15-mp4-m1.small-openvpn221||60s||average||59||3026.79||48.13||0.815763||
    300 
    301 '''Server statistics'''
    302 
    303 ||'''Test'''||'''Subtest'''||'''Real length'''||'''CPU usr (%)'''||'''CPU sys (%)'''||'''CPU total (%)'''||'''CPU wait (%)'''||
    304 ||15-mp4-m1.small-openvpn221||10s||24||26.7727||52.8184||98.4287||0||
    305 ||15-mp4-m1.small-openvpn221||30+60s||304||23.5826||50.4217||86.8597||0.0105822||
    306 
    307 '''Analysis'''
    308 
    309 100 clients connecting at the same time is clearly above the capabilities of ''m1.small'' instance in EC2. Also, the data transfer statistics are skewed because of the long client connection delays, which create a "tail" of clients that raise the average bandwidth numbers because they get a larger proportion of server's resources for their use. 
    310 
    311284= Test environments =
    312285
     
    331304== Configuring test server(s) ==
    332305
    333 Test servers can be/are setup manually or using simple Fabric rules and static host lists, as there are only a few of them.
    334 
    335 The required steps:
    336 
    337  * Install a precompiled OpenVPN binary and shared libraries
    338  * Install an OpenVPN configuration file (for every configuration to test)
    339  * Start OpenVPN
    340  * Start memory/CPU usage monitoring tools
    341 
    342 For throughput tests also do:
    343 
    344  * Start iperf server instance(s)
     306All the logic is embedded into the deployment tool.
    345307
    346308== Configuring test clients ==
    347309
    348 Configuring test clients consists of the following steps:
    349 
    350  * Install precompiled OpenVPN binary and shared libraries
    351  * Install OpenVPN configuration file(s)
    352  * Synchronize the clock using ntpdate: allows properly timed DDOS-style tests
    353  * Install a test script (modified t_client.rc?) that
    354   * Verifies that system state is sane
    355   * Gathers information about system state
    356   * Launches OpenVPN using a configuration file given as command-line parameter
    357   * For throughput tests launch iperf client pointed at correct iperf server
    358   * Wait until the test is over
    359   * Cleans up system state:
    360    * Kill OpenVPN gracefully; should it fail, make note of it and use ''kill -9''
    361    * Flush routes
    362   * Push collected data into a centralized location (e.g. using SSH)
    363  * Install crontab entry for each test scenario to launch a test script at a given time
     310All the logic is embedded into the deployment tool.
     311
    364312
    365313= Tools =