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 | |
| 268 | Connection 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|| |
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 | | |
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 |
| 310 | All the logic is embedded into the deployment tool. |
| 311 | |