diff --git a/sample-benchmark-project.gns3 b/sample-benchmark-project.gns3 new file mode 100644 index 0000000..0c61d43 --- /dev/null +++ b/sample-benchmark-project.gns3 @@ -0,0 +1,591 @@ +{ + "auto_close": true, + "auto_open": false, + "auto_start": false, + "name": "bench1", + "project_id": "7c69e1b0-9dee-4152-8a87-c30fd05cf3ff", + "revision": 7, + "scene_height": 1000, + "scene_width": 2000, + "topology": { + "computes": [], + "drawings": [ + { + "drawing_id": "7b4a4d9a-00f4-4a98-8363-af89cfb64a73", + "rotation": 0, + "svg": "10.10.10.20", + "x": -188, + "y": -90, + "z": 1 + }, + { + "drawing_id": "b65d6bbd-5210-4c4b-9620-93420ae0c347", + "rotation": 0, + "svg": "10.10.10.30", + "x": 269, + "y": -90, + "z": 1 + }, + { + "drawing_id": "15dd3505-e3dd-4d6f-84f2-8bf1c1cd2b7c", + "rotation": 0, + "svg": "10.10.10.10", + "x": 64, + "y": -267, + "z": 1 + }, + { + "drawing_id": "0a5c95c0-7552-44c4-acde-c252528730d1", + "rotation": 0, + "svg": "10.10.10.40", + "x": 57, + "y": 105, + "z": 1 + } + ], + "links": [ + { + "link_id": "7443ef05-4c91-4ac7-9aa3-39896ddf0c0b", + "nodes": [ + { + "adapter_number": 1, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet1", + "x": -10, + "y": -35 + }, + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "port_number": 0 + }, + { + "adapter_number": 1, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet1", + "x": -89, + "y": 33 + }, + "node_id": "e27c5394-cf7b-4c7d-9590-5257a613ff1b", + "port_number": 0 + } + ] + }, + { + "link_id": "43147927-b94a-496a-adc7-cc99794935e6", + "nodes": [ + { + "adapter_number": 2, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet2", + "x": 70, + "y": -21 + }, + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "port_number": 0 + }, + { + "adapter_number": 2, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet2", + "x": -53, + "y": 79 + }, + "node_id": "e27c5394-cf7b-4c7d-9590-5257a613ff1b", + "port_number": 0 + } + ] + }, + { + "link_id": "b924148f-2ea7-48c1-acb9-4de1ff0a11aa", + "nodes": [ + { + "adapter_number": 4, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet4", + "x": -98, + "y": -20 + }, + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "port_number": 0 + }, + { + "adapter_number": 4, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet4", + "x": 20, + "y": 79 + }, + "node_id": "e27c5394-cf7b-4c7d-9590-5257a613ff1b", + "port_number": 0 + } + ] + }, + { + "link_id": "5a199fd9-df9f-4860-a4c8-faa0152a8200", + "nodes": [ + { + "adapter_number": 3, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet3", + "x": 70, + "y": -4 + }, + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "port_number": 0 + }, + { + "adapter_number": 1, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet1", + "x": -98, + "y": -5 + }, + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "port_number": 0 + } + ] + }, + { + "link_id": "5ed4c020-1f92-490c-9bf8-61b2c3654927", + "nodes": [ + { + "adapter_number": 6, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet6", + "x": -12, + "y": 55 + }, + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "port_number": 0 + }, + { + "adapter_number": 2, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet2", + "x": -43, + "y": -67 + }, + "node_id": "5f397585-232b-4fff-9473-245b00f32dc4", + "port_number": 0 + } + ] + }, + { + "link_id": "6962bab8-a730-4031-9b60-6cc7db2055d7", + "nodes": [ + { + "adapter_number": 3, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet3", + "x": -11, + "y": -31 + }, + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "port_number": 0 + }, + { + "adapter_number": 3, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet3", + "x": 63, + "y": 36 + }, + "node_id": "e27c5394-cf7b-4c7d-9590-5257a613ff1b", + "port_number": 0 + } + ] + }, + { + "link_id": "8822916f-bdc3-4983-b0eb-7e8baa66e96c", + "nodes": [ + { + "adapter_number": 4, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet4", + "x": 71, + "y": 21 + }, + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "port_number": 0 + }, + { + "adapter_number": 2, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet2", + "x": -97, + "y": 23 + }, + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "port_number": 0 + } + ] + }, + { + "link_id": "c600c765-49ab-402d-9959-48ad9e4edcbf", + "nodes": [ + { + "adapter_number": 5, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet5", + "x": -5, + "y": 60 + }, + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "port_number": 0 + }, + { + "adapter_number": 3, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet3", + "x": 63, + "y": -14 + }, + "node_id": "5f397585-232b-4fff-9473-245b00f32dc4", + "port_number": 0 + } + ] + }, + { + "link_id": "b6086fcd-b9a0-490e-9af6-5c9fecd867a7", + "nodes": [ + { + "adapter_number": 6, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet6", + "x": -97, + "y": 42 + }, + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "port_number": 0 + }, + { + "adapter_number": 4, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet4", + "x": 30, + "y": -67 + }, + "node_id": "5f397585-232b-4fff-9473-245b00f32dc4", + "port_number": 0 + } + ] + }, + { + "link_id": "77488bcc-0a5a-4d3e-958b-71f607865659", + "nodes": [ + { + "adapter_number": 5, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet5", + "x": 71, + "y": 42 + }, + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "port_number": 0 + }, + { + "adapter_number": 1, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "Ethernet1", + "x": -82, + "y": -16 + }, + "node_id": "5f397585-232b-4fff-9473-245b00f32dc4", + "port_number": 0 + } + ] + } + ], + "nodes": [ + { + "compute_id": "local", + "console": 10038, + "console_type": "telnet", + "first_port_name": "Management1", + "height": 48, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "vEOS-2", + "x": -56, + "y": -3 + }, + "name": "vEOS-2", + "node_id": "28ca7ad5-9748-4358-b988-defb562f829e", + "node_type": "qemu", + "port_name_format": "Ethernet{port1}", + "port_segment_size": 0, + "properties": { + "acpi_shutdown": false, + "adapter_type": "e1000", + "adapters": 13, + "bios_image": "", + "bios_image_md5sum": null, + "boot_priority": "c", + "cdrom_image": "", + "cdrom_image_md5sum": null, + "cpu_throttling": 0, + "cpus": 1, + "hda_disk_image": "Aboot-veos-serial-4.17.5M.iso", + "hda_disk_image_md5sum": "488ad1c435d18c69bb8d69c7806457c9", + "hda_disk_interface": "ide", + "hdb_disk_image": "vEOS-lab-4.17.5M.vmdk", + "hdb_disk_image_md5sum": "e49ba49e970791d92b8d5ab8286a7bbf", + "hdb_disk_interface": "ide", + "hdc_disk_image": "", + "hdc_disk_image_md5sum": null, + "hdc_disk_interface": "ide", + "hdd_disk_image": "", + "hdd_disk_image_md5sum": null, + "hdd_disk_interface": "ide", + "initrd": "", + "initrd_md5sum": null, + "kernel_command_line": "", + "kernel_image": "", + "kernel_image_md5sum": null, + "legacy_networking": false, + "linked_clone": true, + "mac_address": "00:85:66:0f:6c:00", + "options": "-nographic", + "platform": "x86_64", + "process_priority": "normal", + "qemu_path": "/usr/bin/qemu-system-x86_64", + "ram": 2048, + "usage": "The login is admin, with no password by default" + }, + "symbol": ":/symbols/multilayer_switch.svg", + "width": 51, + "x": -104, + "y": -111, + "z": 1 + }, + { + "compute_id": "local", + "console": 10032, + "console_type": "telnet", + "first_port_name": "Management1", + "height": 48, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "vEOS-1", + "x": 6, + "y": -44 + }, + "name": "vEOS-1", + "node_id": "e27c5394-cf7b-4c7d-9590-5257a613ff1b", + "node_type": "qemu", + "port_name_format": "Ethernet{port1}", + "port_segment_size": 0, + "properties": { + "acpi_shutdown": false, + "adapter_type": "e1000", + "adapters": 13, + "bios_image": "", + "bios_image_md5sum": null, + "boot_priority": "c", + "cdrom_image": "", + "cdrom_image_md5sum": null, + "cpu_throttling": 0, + "cpus": 1, + "hda_disk_image": "Aboot-veos-serial-4.17.5M.iso", + "hda_disk_image_md5sum": "488ad1c435d18c69bb8d69c7806457c9", + "hda_disk_interface": "ide", + "hdb_disk_image": "vEOS-lab-4.17.5M.vmdk", + "hdb_disk_image_md5sum": "e49ba49e970791d92b8d5ab8286a7bbf", + "hdb_disk_interface": "ide", + "hdc_disk_image": "", + "hdc_disk_image_md5sum": null, + "hdc_disk_interface": "ide", + "hdd_disk_image": "", + "hdd_disk_image_md5sum": null, + "hdd_disk_interface": "ide", + "initrd": "", + "initrd_md5sum": null, + "kernel_command_line": "", + "kernel_image": "", + "kernel_image_md5sum": null, + "legacy_networking": false, + "linked_clone": true, + "mac_address": "00:85:66:b1:88:00", + "options": "-nographic", + "platform": "x86_64", + "process_priority": "normal", + "qemu_path": "/usr/bin/qemu-system-x86_64", + "ram": 2048, + "usage": "The login is admin, with no password by default" + }, + "symbol": ":/symbols/multilayer_switch.svg", + "width": 51, + "x": 59, + "y": -244, + "z": 1 + }, + { + "compute_id": "local", + "console": 10035, + "console_type": "telnet", + "first_port_name": "Management1", + "height": 48, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "vEOS-4", + "x": -2, + "y": 46 + }, + "name": "vEOS-4", + "node_id": "5f397585-232b-4fff-9473-245b00f32dc4", + "node_type": "qemu", + "port_name_format": "Ethernet{port1}", + "port_segment_size": 0, + "properties": { + "acpi_shutdown": false, + "adapter_type": "e1000", + "adapters": 13, + "bios_image": "", + "bios_image_md5sum": null, + "boot_priority": "c", + "cdrom_image": "", + "cdrom_image_md5sum": null, + "cpu_throttling": 0, + "cpus": 1, + "hda_disk_image": "Aboot-veos-serial-4.17.5M.iso", + "hda_disk_image_md5sum": "488ad1c435d18c69bb8d69c7806457c9", + "hda_disk_interface": "ide", + "hdb_disk_image": "vEOS-lab-4.17.5M.vmdk", + "hdb_disk_image_md5sum": "e49ba49e970791d92b8d5ab8286a7bbf", + "hdb_disk_interface": "ide", + "hdc_disk_image": "", + "hdc_disk_image_md5sum": null, + "hdc_disk_interface": "ide", + "hdd_disk_image": "", + "hdd_disk_image_md5sum": null, + "hdd_disk_interface": "ide", + "initrd": "", + "initrd_md5sum": null, + "kernel_command_line": "", + "kernel_image": "", + "kernel_image_md5sum": null, + "legacy_networking": false, + "linked_clone": true, + "mac_address": "00:85:66:60:99:00", + "options": "-nographic", + "platform": "x86_64", + "process_priority": "normal", + "qemu_path": "/usr/bin/qemu-system-x86_64", + "ram": 2048, + "usage": "The login is admin, with no password by default" + }, + "symbol": ":/symbols/multilayer_switch.svg", + "width": 51, + "x": 59, + "y": 40, + "z": 1 + }, + { + "compute_id": "local", + "console": 10029, + "console_type": "telnet", + "first_port_name": "Management1", + "height": 48, + "label": { + "rotation": 0, + "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", + "text": "vEOS-3", + "x": 50, + "y": 0 + }, + "name": "vEOS-3", + "node_id": "40791294-5001-41b4-9833-b3f5d174d664", + "node_type": "qemu", + "port_name_format": "Ethernet{port1}", + "port_segment_size": 0, + "properties": { + "acpi_shutdown": false, + "adapter_type": "e1000", + "adapters": 13, + "bios_image": "", + "bios_image_md5sum": null, + "boot_priority": "c", + "cdrom_image": "", + "cdrom_image_md5sum": null, + "cpu_throttling": 0, + "cpus": 1, + "hda_disk_image": "Aboot-veos-serial-4.17.5M.iso", + "hda_disk_image_md5sum": "488ad1c435d18c69bb8d69c7806457c9", + "hda_disk_interface": "ide", + "hdb_disk_image": "vEOS-lab-4.17.5M.vmdk", + "hdb_disk_image_md5sum": "e49ba49e970791d92b8d5ab8286a7bbf", + "hdb_disk_interface": "ide", + "hdc_disk_image": "", + "hdc_disk_image_md5sum": null, + "hdc_disk_interface": "ide", + "hdd_disk_image": "", + "hdd_disk_image_md5sum": null, + "hdd_disk_interface": "ide", + "initrd": "", + "initrd_md5sum": null, + "kernel_command_line": "", + "kernel_image": "", + "kernel_image_md5sum": null, + "legacy_networking": false, + "linked_clone": true, + "mac_address": "00:85:66:30:8f:00", + "options": "-nographic", + "platform": "x86_64", + "process_priority": "normal", + "qemu_path": "/usr/bin/qemu-system-x86_64", + "ram": 2048, + "usage": "The login is admin, with no password by default" + }, + "symbol": ":/symbols/multilayer_switch.svg", + "width": 51, + "x": 219, + "y": -111, + "z": 1 + } + ] + }, + "type": "topology", + "version": "2.0.3" +} \ No newline at end of file diff --git a/sample-run-benchmarks.sh b/sample-run-benchmarks.sh new file mode 100644 index 0000000..fd48762 --- /dev/null +++ b/sample-run-benchmarks.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +BENCHMARK_SCRIPT="/home/gns3/gns3-bench/gns3-bench.py" +MAX_RUNS=10 +TOPO_NAME="bench1" +USERNAME="admin" +PASSWORD="$1" +TIMEOUT=5 + +function bench_run { + for run in `seq 1 $1` ; do + echo -e "\e[33mbechmark run: $run\e[39m" + until $BENCHMARK_SCRIPT $2 $3 $4 $5 $6 ; do + echo -e "\e[31mrun failed... retrying run: $run...\e[39m" + done + echo -e "\e[32mrun: $run finished\e[39m" + time top -b -n 1 | head -10 + done +} + +for number_of_concurrent_sims in `seq 1 7`; do + echo -e "\e[35mstarting bechmark with number_of_concurrent_sims: $number_of_concurrent_sims ($MAX_RUNS runs)\e[39m" + bench_run $MAX_RUNS $TOPO_NAME $number_of_concurrent_sims $USERNAME $PASSWORD $TIMEOUT +done + +#bench_run 10 bench1 1 admin PASSWORD 5 +#bench_run 10 bench1 2 admin PASSWORD 5 +#bench_run 10 bench1 3 admin PASSWORD 5 diff --git a/start-bench.sh b/start-bench.sh new file mode 100644 index 0000000..9c7fdc8 --- /dev/null +++ b/start-bench.sh @@ -0,0 +1,3 @@ +#!/bin/bash +# usage: start-bench.sh +screen -dmS bench1 -L "/home/gns3/gns3-bench/sample-start-bench.sh" $1