diff --git a/docs/performance_test/100_monitors.png b/docs/performance_test/100_monitors.png new file mode 100644 index 0000000..58abd6b Binary files /dev/null and b/docs/performance_test/100_monitors.png differ diff --git a/docs/performance_test/10_monitors.png b/docs/performance_test/10_monitors.png new file mode 100644 index 0000000..6f41391 Binary files /dev/null and b/docs/performance_test/10_monitors.png differ diff --git a/docs/performance_test/150_monitors.png b/docs/performance_test/150_monitors.png new file mode 100644 index 0000000..f03117a Binary files /dev/null and b/docs/performance_test/150_monitors.png differ diff --git a/docs/performance_test/README.md b/docs/performance_test/README.md index bad5653..60524f6 100644 --- a/docs/performance_test/README.md +++ b/docs/performance_test/README.md @@ -106,19 +106,19 @@ In order to monitor the ressource consumption during our tests we need to create We create 4 different queries using Prometheus as the data source. For each query we can use the `code` mode to create them from a PromQL query. -## OC stack consumption +### OC stack consumption ``` sum(container_memory_usage_bytes{name=~"oc-auth|oc-datacenter|oc-scheduler|oc-front|oc-schedulerd|oc-workflow|oc-catalog|oc-peer|oc-workspace|loki|mongo|traefik|nats"}) ``` -## Monitord consumption +### Monitord consumption ``` sum(container_memory_usage_bytes{image="oc-monitord"}) ``` -## Total RAM consumption +### Total RAM consumption ``` sum( @@ -128,8 +128,24 @@ sum( ) ``` -## Number of monitord containers +### Number of monitord containers ``` count(container_memory_usage_bytes{image="oc-monitord"} > 0) -``` \ No newline at end of file +``` + +# Launch executions + +We will use a script to insert in the DB the executions that will create the monitord containers. + +We need to retrieve two informations to execute the scripted insertion : + +- The **workflow id** for the workflow we want to instantiate, this is can be located in the DB +- A **token** to authentify against the API, connect to oc-front and retrieve the token in your browser network analyzer tool. + +Add these to the `insert_exex.sh` script. + +The script takes two arguments : +- **$1** : the number of executions, which are created by chunks of 10 using a CRON expression to create 10 execution**S** for each execution/namespace + +- **$2** : the number of minutes between now and the execution time for the executions. \ No newline at end of file diff --git a/docs/performance_test/insert_exec.sh b/docs/performance_test/insert_exec.sh index 2a07c14..6d54705 100755 --- a/docs/performance_test/insert_exec.sh +++ b/docs/performance_test/insert_exec.sh @@ -1,6 +1,7 @@ #!/bin/bash -TOKEN="LCSg2svSFdIBPucRCCmz7UrDmZKmsvODXU5PM0yWdYc.-LPNAoycUm5Kwm1IcyyP-wJvc8Zy7er36ozpjTWICKc.eyJzZXNzaW9uIjp7ImFjY2Vzc190b2tlbiI6eyJERUxFVEVfX0FVVEhfR1JPVVBfVVNFUl9JRF9HUk9VUF9JRCI6Ii9hdXRoL2dyb3VwLzp1c2VyX2lkLzpncm91cF9pZCIsIkRFTEVURV9fQVVUSF9QRVJNSVNTSU9OX1BFUk1JU1NJT05fSURfUk9MRV9JRF9SRUxBVElPTiI6Ii9hdXRoL3Blcm1pc3Npb24vOnBlcm1pc3Npb25faWQvOnJvbGVfaWQvOnJlbGF0aW9uIiwiREVMRVRFX19BVVRIX1JPTEVfVVNFUl9JRF9ST0xFX0lEIjoiL2F1dGgvcm9sZS86dXNlcl9pZC86cm9sZV9pZCIsIkRFTEVURV9fQ0FUQUxPR19DT01QVVRFX0lEIjoiL2NhdGFsb2cvY29tcHV0ZS86aWQiLCJERUxFVEVfX0NBVEFMT0dfREFUQV9JRCI6Ii9jYXRhbG9nL2RhdGEvOmlkIiwiREVMRVRFX19DQVRBTE9HX1BST0NFU1NJTkdfSUQiOiIvY2F0YWxvZy9wcm9jZXNzaW5nLzppZCIsIkRFTEVURV9fQ0FUQUxPR19SRVNPVVJDRV9JRCI6Ii9jYXRhbG9nL3Jlc291cmNlLzppZCIsIkRFTEVURV9fQ0FUQUxPR19TVE9SQUdFX0lEIjoiL2NhdGFsb2cvc3RvcmFnZS86aWQiLCJERUxFVEVfX0NBVEFMT0dfV09SS0ZMT1dfSUQiOiIvY2F0YWxvZy93b3JrZmxvdy86aWQiLCJERUxFVEVfX1NDSEVEVUxFUl9JRCI6Ii9zY2hlZHVsZXIvOmlkIiwiREVMRVRFX19XT1JLRkxPV19JRCI6Ii93b3JrZmxvdy86aWQiLCJERUxFVEVfX1dPUktTUEFDRV9JRCI6Ii93b3Jrc3BhY2UvOmlkIiwiR0VUX19DQVRBTE9HX0NPTVBVVEVfIjoiL2NhdGFsb2cvY29tcHV0ZS8iLCJHRVRfX0NBVEFMT0dfQ09NUFVURV9JRCI6Ii9jYXRhbG9nL2NvbXB1dGUvOmlkIiwiR0VUX19DQVRBTE9HX0NPTVBVVEVfU0VBUkNIX1NFQVJDSCI6Ii9jYXRhbG9nL2NvbXB1dGUvc2VhcmNoLzpzZWFyY2giLCJHRVRfX0NBVEFMT0dfREFUQV8iOiIvY2F0YWxvZy9kYXRhLyIsIkdFVF9fQ0FUQUxPR19EQVRBX0lEIjoiL2NhdGFsb2cvZGF0YS86aWQiLCJHRVRfX0NBVEFMT0dfREFUQV9TRUFSQ0hfU0VBUkNIIjoiL2NhdGFsb2cvZGF0YS9zZWFyY2gvOnNlYXJjaCIsIkdFVF9fQ0FUQUxPR19FTlVNX0JPT0tJTkdfU1RBVFVTIjoiL2NhdGFsb2cvZW51bS9ib29raW5nL3N0YXR1cyIsIkdFVF9fQ0FUQUxPR19FTlVNX0lORlJBU1RSVUNUVVJFIjoiL2NhdGFsb2cvZW51bS9pbmZyYXN0cnVjdHVyZSIsIkdFVF9fQ0FUQUxPR19FTlVNX1BSSUNJTkdfUkVGVU5EX1RZUEUiOiIvY2F0YWxvZy9lbnVtL3ByaWNpbmcvcmVmdW5kL3R5cGUiLCJHRVRfX0NBVEFMT0dfRU5VTV9QUklDSU5HX1NUUkFURUdZX0JVWSI6Ii9jYXRhbG9nL2VudW0vcHJpY2luZy9zdHJhdGVneS9idXkiLCJHRVRfX0NBVEFMT0dfRU5VTV9QUklDSU5HX1NUUkFURUdZX0RBVEEiOiIvY2F0YWxvZy9lbnVtL3ByaWNpbmcvc3RyYXRlZ3kvZGF0YSIsIkdFVF9fQ0FUQUxPR19FTlVNX1BSSUNJTkdfU1RSQVRFR1lfUFJJVklMRUdFIjoiL2NhdGFsb2cvZW51bS9wcmljaW5nL3N0cmF0ZWd5L3ByaXZpbGVnZSIsIkdFVF9fQ0FUQUxPR19FTlVNX1BSSUNJTkdfU1RSQVRFR1lfUFJJVklMRUdFX1NUT1JBR0UiOiIvY2F0YWxvZy9lbnVtL3ByaWNpbmcvc3RyYXRlZ3kvcHJpdmlsZWdlL3N0b3JhZ2UiLCJHRVRfX0NBVEFMT0dfRU5VTV9QUklDSU5HX1NUUkFURUdZX1NUT1JBR0UiOiIvY2F0YWxvZy9lbnVtL3ByaWNpbmcvc3RyYXRlZ3kvc3RvcmFnZSIsIkdFVF9fQ0FUQUxPR19FTlVNX1BSSUNJTkdfU1RSQVRFR1lfVElNRSI6Ii9jYXRhbG9nL2VudW0vcHJpY2luZy9zdHJhdGVneS90aW1lIiwiR0VUX19DQVRBTE9HX0VOVU1fUkVTT1VSQ0VfVFlQRSI6Ii9jYXRhbG9nL2VudW0vcmVzb3VyY2UvdHlwZSIsIkdFVF9fQ0FUQUxPR19FTlVNX1NUQVRVUyI6Ii9jYXRhbG9nL2VudW0vc3RhdHVzIiwiR0VUX19DQVRBTE9HX0VOVU1fU1RPUkFHRV9TSVpFIjoiL2NhdGFsb2cvZW51bS9zdG9yYWdlL3NpemUiLCJHRVRfX0NBVEFMT0dfRU5VTV9TVE9SQUdFX1RZUEUiOiIvY2F0YWxvZy9lbnVtL3N0b3JhZ2UvdHlwZSIsIkdFVF9fQ0FUQUxPR19QUk9DRVNTSU5HXyI6Ii9jYXRhbG9nL3Byb2Nlc3NpbmcvIiwiR0VUX19DQVRBTE9HX1BST0NFU1NJTkdfSUQiOiIvY2F0YWxvZy9wcm9jZXNzaW5nLzppZCIsIkdFVF9fQ0FUQUxPR19QUk9DRVNTSU5HX1NFQVJDSF9TRUFSQ0giOiIvY2F0YWxvZy9wcm9jZXNzaW5nL3NlYXJjaC86c2VhcmNoIiwiR0VUX19DQVRBTE9HX1JFU09VUkNFXyI6Ii9jYXRhbG9nL3Jlc291cmNlLyIsIkdFVF9fQ0FUQUxPR19SRVNPVVJDRV9JRCI6Ii9jYXRhbG9nL3Jlc291cmNlLzppZCIsIkdFVF9fQ0FUQUxPR19SRVNPVVJDRV9TRUFSQ0hfU0VBUkNIIjoiL2NhdGFsb2cvcmVzb3VyY2Uvc2VhcmNoLzpzZWFyY2giLCJHRVRfX0NBVEFMT0dfU1RPUkFHRV8iOiIvY2F0YWxvZy9zdG9yYWdlLyIsIkdFVF9fQ0FUQUxPR19TVE9SQUdFX0lEIjoiL2NhdGFsb2cvc3RvcmFnZS86aWQiLCJHRVRfX0NBVEFMT0dfU1RPUkFHRV9TRUFSQ0hfU0VBUkNIIjoiL2NhdGFsb2cvc3RvcmFnZS9zZWFyY2gvOnNlYXJjaCIsIkdFVF9fQ0FUQUxPR19WRVJTSU9OXyI6Ii9jYXRhbG9nL3ZlcnNpb24vIiwiR0VUX19DQVRBTE9HX1ZFUlNJT05fU1RBVFVTIjoiL2NhdGFsb2cvdmVyc2lvbi9zdGF0dXMiLCJHRVRfX0NBVEFMT0dfV09SS0ZMT1dfIjoiL2NhdGFsb2cvd29ya2Zsb3cvIiwiR0VUX19DQVRBTE9HX1dPUktGTE9XX0lEIjoiL2NhdGFsb2cvd29ya2Zsb3cvOmlkIiwiR0VUX19DQVRBTE9HX1dPUktGTE9XX1NFQVJDSF9TRUFSQ0giOiIvY2F0YWxvZy93b3JrZmxvdy9zZWFyY2gvOnNlYXJjaCIsIkdFVF9fREFUQUNFTlRFUl8iOiIvZGF0YWNlbnRlci8iLCJHRVRfX0RBVEFDRU5URVJfQURNSVJBTFRZX0tVQkVDT05GSUdfRVhFQ1VUSU9OIjoiL2RhdGFjZW50ZXIvYWRtaXJhbHR5L2t1YmVjb25maWcvOmV4ZWN1dGlvbiIsIkdFVF9fREFUQUNFTlRFUl9BRE1JUkFMVFlfTk9ERV9FWEVDVVRJT05fUEVFUiI6Ii9kYXRhY2VudGVyL2FkbWlyYWx0eS9ub2RlLzpleGVjdXRpb24vOnBlZXIiLCJHRVRfX0RBVEFDRU5URVJfQURNSVJBTFRZX1NFQ1JFVF9FWEVDVVRJT05fUEVFUiI6Ii9kYXRhY2VudGVyL2FkbWlyYWx0eS9zZWNyZXQvOmV4ZWN1dGlvbi86cGVlciIsIkdFVF9fREFUQUNFTlRFUl9BRE1JUkFMVFlfVEFSR0VUUyI6Ii9kYXRhY2VudGVyL2FkbWlyYWx0eS90YXJnZXRzIiwiR0VUX19EQVRBQ0VOVEVSX0FETUlSQUxUWV9UQVJHRVRTX0VYRUNVVElPTiI6Ii9kYXRhY2VudGVyL2FkbWlyYWx0eS90YXJnZXRzLzpleGVjdXRpb24iLCJHRVRfX0RBVEFDRU5URVJfQk9PS0lOR18iOiIvZGF0YWNlbnRlci9ib29raW5nLyIsIkdFVF9fREFUQUNFTlRFUl9CT09LSU5HX0NIRUNLX0lEX1NUQVJUX0RBVEVfRU5EX0RBVEUiOiIvZGF0YWNlbnRlci9ib29raW5nL2NoZWNrLzppZC86c3RhcnRfZGF0ZS86ZW5kX2RhdGUiLCJHRVRfX0RBVEFDRU5URVJfQk9PS0lOR19JRCI6Ii9kYXRhY2VudGVyL2Jvb2tpbmcvOmlkIiwiR0VUX19EQVRBQ0VOVEVSX0JPT0tJTkdfU0VBUkNIX0VYRUNVVElPTl9JRCI6Ii9kYXRhY2VudGVyL2Jvb2tpbmcvc2VhcmNoL2V4ZWN1dGlvbi86aWQiLCJHRVRfX0RBVEFDRU5URVJfQk9PS0lOR19TRUFSQ0hfU1RBUlRfREFURV9FTkRfREFURSI6Ii9kYXRhY2VudGVyL2Jvb2tpbmcvc2VhcmNoLzpzdGFydF9kYXRlLzplbmRfZGF0ZSIsIkdFVF9fREFUQUNFTlRFUl9JRCI6Ii9kYXRhY2VudGVyLzppZCIsIkdFVF9fREFUQUNFTlRFUl9TRVNTSU9OX1RPS0VOX0lEX0RVUkFUSU9OIjoiL2RhdGFjZW50ZXIvc2Vzc2lvbi90b2tlbi86aWQvOmR1cmF0aW9uIiwiR0VUX19EQVRBQ0VOVEVSX1ZFUlNJT05fIjoiL2RhdGFjZW50ZXIvdmVyc2lvbi8iLCJHRVRfX0RBVEFDRU5URVJfVkVSU0lPTl9TVEFUVVMiOiIvZGF0YWNlbnRlci92ZXJzaW9uL3N0YXR1cyIsIkdFVF9fUEVFUl8iOiIvcGVlci8iLCJHRVRfX1BFRVJfSUQiOiIvcGVlci86aWQiLCJHRVRfX1BFRVJfU0VBUkNIX1NFQVJDSCI6Ii9wZWVyL3NlYXJjaC86c2VhcmNoIiwiR0VUX19QRUVSX1ZFUlNJT05fIjoiL3BlZXIvdmVyc2lvbi8iLCJHRVRfX1NDSEVEVUxFUl9FWEVDVVRJT05fIjoiL3NjaGVkdWxlci9leGVjdXRpb24vIiwiR0VUX19TQ0hFRFVMRVJfRVhFQ1VUSU9OX0lEIjoiL3NjaGVkdWxlci9leGVjdXRpb24vOmlkIiwiR0VUX19TQ0hFRFVMRVJfRVhFQ1VUSU9OX1NFQVJDSF9TRUFSQ0giOiIvc2NoZWR1bGVyL2V4ZWN1dGlvbi9zZWFyY2gvOnNlYXJjaCIsIkdFVF9fU0NIRURVTEVSX0VYRUNVVElPTl9TRUFSQ0hfU1RBUlRfREFURV9FTkRfREFURSI6Ii9zY2hlZHVsZXIvZXhlY3V0aW9uL3NlYXJjaC86c3RhcnRfZGF0ZS86ZW5kX2RhdGUiLCJHRVRfX1NDSEVEVUxFUl9JRF9PUkRFUiI6Ii9zY2hlZHVsZXIvOmlkL29yZGVyIiwiR0VUX19TQ0hFRFVMRVJfVkVSU0lPTl8iOiIvc2NoZWR1bGVyL3ZlcnNpb24vIiwiR0VUX19TQ0hFRFVMRVJfVkVSU0lPTl9TVEFUVVMiOiIvc2NoZWR1bGVyL3ZlcnNpb24vc3RhdHVzIiwiR0VUX19XT1JLRkxPV18iOiIvd29ya2Zsb3cvIiwiR0VUX19XT1JLRkxPV19DSEVDS19JRF9TVEFSVF9EQVRFX0VORF9EQVRFIjoiL3dvcmtmbG93L2NoZWNrLzppZC86c3RhcnRfZGF0ZS86ZW5kX2RhdGUiLCJHRVRfX1dPUktGTE9XX0lEIjoiL3dvcmtmbG93LzppZCIsIkdFVF9fV09SS0ZMT1dfU0VBUkNIX1NFQVJDSCI6Ii93b3JrZmxvdy9zZWFyY2gvOnNlYXJjaCIsIkdFVF9fV09SS0ZMT1dfVkVSU0lPTl8iOiIvd29ya2Zsb3cvdmVyc2lvbi8iLCJHRVRfX1dPUktGTE9XX1ZFUlNJT05fU1RBVFVTIjoiL3dvcmtmbG93L3ZlcnNpb24vc3RhdHVzIiwiR0VUX19XT1JLU1BBQ0VfIjoiL3dvcmtzcGFjZS8iLCJHRVRfX1dPUktTUEFDRV9JRCI6Ii93b3Jrc3BhY2UvOmlkIiwiR0VUX19XT1JLU1BBQ0VfU0VBUkNIX1NFQVJDSCI6Ii93b3Jrc3BhY2Uvc2VhcmNoLzpzZWFyY2giLCJHRVRfX1dPUktTUEFDRV9WRVJTSU9OXyI6Ii93b3Jrc3BhY2UvdmVyc2lvbi8iLCJHRVRfX1dPUktTUEFDRV9WRVJTSU9OX1NUQVRVUyI6Ii93b3Jrc3BhY2UvdmVyc2lvbi9zdGF0dXMiLCJQT1NUX19BVVRIX0dST1VQX0lEIjoiL2F1dGgvZ3JvdXAvOmlkIiwiUE9TVF9fQVVUSF9ST0xFX0lEIjoiL2F1dGgvcm9sZS86aWQiLCJQT1NUX19DQVRBTE9HX0NPTVBVVEVfIjoiL2NhdGFsb2cvY29tcHV0ZS8iLCJQT1NUX19DQVRBTE9HX0RBVEFfIjoiL2NhdGFsb2cvZGF0YS8iLCJQT1NUX19DQVRBTE9HX1BST0NFU1NJTkdfIjoiL2NhdGFsb2cvcHJvY2Vzc2luZy8iLCJQT1NUX19DQVRBTE9HX1NUT1JBR0VfIjoiL2NhdGFsb2cvc3RvcmFnZS8iLCJQT1NUX19DQVRBTE9HX1dPUktGTE9XXyI6Ii9jYXRhbG9nL3dvcmtmbG93LyIsIlBPU1RfX0RBVEFDRU5URVJfQURNSVJBTFRZX1NFQ1JFVF9FWEVDVVRJT05fUEVFUiI6Ii9kYXRhY2VudGVyL2FkbWlyYWx0eS9zZWNyZXQvOmV4ZWN1dGlvbi86cGVlciIsIlBPU1RfX0RBVEFDRU5URVJfQURNSVJBTFRZX1NPVVJDRV9FWEVDVVRJT04iOiIvZGF0YWNlbnRlci9hZG1pcmFsdHkvc291cmNlLzpleGVjdXRpb24iLCJQT1NUX19EQVRBQ0VOVEVSX0FETUlSQUxUWV9UQVJHRVRfRVhFQ1VUSU9OX1BFRVIiOiIvZGF0YWNlbnRlci9hZG1pcmFsdHkvdGFyZ2V0LzpleGVjdXRpb24vOnBlZXIiLCJQT1NUX19EQVRBQ0VOVEVSX0JPT0tJTkdfIjoiL2RhdGFjZW50ZXIvYm9va2luZy8iLCJQT1NUX19QRUVSX0lEX0JMQUNLTElTVCI6Ii9wZWVyLzppZC9ibGFja2xpc3QiLCJQT1NUX19QRUVSX0lEX1BBUlRORVIiOiIvcGVlci86aWQvcGFydG5lciIsIlBPU1RfX1BFRVJfSURfVU5ET19TVEFURSI6Ii9wZWVyLzppZC91bmRvX3N0YXRlIiwiUE9TVF9fUEVFUl9TVEFUVVNfIjoiL3BlZXIvc3RhdHVzLyIsIlBPU1RfX1NDSEVEVUxFUl9JRCI6Ii9zY2hlZHVsZXIvOmlkIiwiUE9TVF9fU0NIRURVTEVSX0xPS0lfIjoiL3NjaGVkdWxlci9sb2tpLyIsIlBPU1RfX1dPUktGTE9XXyI6Ii93b3JrZmxvdy8iLCJQT1NUX19XT1JLRkxPV19QVUJMSVNIX0lEIjoiL3dvcmtmbG93L3B1Ymxpc2gvOmlkIiwiUE9TVF9fV09SS1NQQUNFXyI6Ii93b3Jrc3BhY2UvIiwiUFVUX19DQVRBTE9HX0NPTVBVVEVfSUQiOiIvY2F0YWxvZy9jb21wdXRlLzppZCIsIlBVVF9fQ0FUQUxPR19EQVRBX0lEIjoiL2NhdGFsb2cvZGF0YS86aWQiLCJQVVRfX0NBVEFMT0dfUFJPQ0VTU0lOR19JRCI6Ii9jYXRhbG9nL3Byb2Nlc3NpbmcvOmlkIiwiUFVUX19DQVRBTE9HX1NUT1JBR0VfSUQiOiIvY2F0YWxvZy9zdG9yYWdlLzppZCIsIlBVVF9fQ0FUQUxPR19XT1JLRkxPV19JRCI6Ii9jYXRhbG9nL3dvcmtmbG93LzppZCIsIlBVVF9fREFUQUNFTlRFUl9CT09LSU5HX0lEIjoiL2RhdGFjZW50ZXIvYm9va2luZy86aWQiLCJQVVRfX1BFRVJfSUQiOiIvcGVlci86aWQiLCJQVVRfX1dPUktGTE9XX0lEIjoiL3dvcmtmbG93LzppZCIsIlBVVF9fV09SS1NQQUNFX0lEIjoiL3dvcmtzcGFjZS86aWQiLCJleHAiOjE3NDgyNjg4MDR9LCJpZF90b2tlbiI6eyJjbGllbnRfaWQiOiIyMjQ4NzMzOS1lMGM1LTRkODctOWNmMS0yOWRkYWFlZDExN2UiLCJncm91cHMiOltdLCJwZWVyX2lkIjoiYzBjZWNlOTctNzczMC00YzJhLThjMjAtYTMwOTQ0NTY0MTA2Iiwic2lnbmF0dXJlIjoiRnhHaktaZE9uczJVVzM2VXdDS2l5MXhTR3hMTlpqUDZ0aWQyd0NnNmhHdHNWYzFnWi9vOHRNcFRaN3VSLzlLbTFjK2NYTFdrYjZWaldydjZTaExBWEN1eC9vZjRvSm9SK0lBUS83Qk94Q21tMkdYTVIvU1J2Sm1KdmVoZ1FwSmJGcTBsWVBDQmRGUGMvNkZCSENwY0pqREZIaW5lcDZjSGFOTWtKS3Fycmh0UWs4MzdSK3ZyUlNPTHVuN3lTSE5uVUhtbHFOZldHdGd4T3lUV2ZQOVVnQU9sLzAxQmFzVll4TDl1TS9UbDNMdEdRYy9xL2kxWCtCMzFKWkRFOUJETzlMRXRSRlYzTUQyYWw2YTQ0MzZMTkpFU0hVUklZdUp6czRDZ3dSQ1NPTWtkMjBsdm84ZTNuOTJKYTgvWDhQY2JJendrZUFzSHlTdU42N21LRjdTeHYrek4wZm9vL01RbEo0KzBBb1VYSm5Id1hZRDVUSUxLc0NNWWFRU0p1bEJVbTM2MmhONkYxNzVkVnB4dmg2Y1BFN1FNdGRSZlJvR2lhdXMweDFKSzcrV2dXRUsxVDhudCtSUHFWQ3hsTkVSS0VVVGtia3R6RmlPeXIzUXBJMlZSaG0xdUNNVEtQRkhlQTlXMUw2ekoxWnFKNzZOZHJIRXQ1azhUMnZseEhJbWZVbVhRelRWZXl6K3E0d2tNZ2V1TGczOWg4VWxPbWpKZ3dDWlJMZ3lDK2QyS2lKUnpTaDU3b2owaDFuWXBTT1BXUER4MXhxVkNnZWRWWWc1T29YbE5ncHRNb3VGYmJuYnIzcTBwK05WTmFqcXdhbGZ2M3gxOXcwVWxBb2tnald6OU9tTUZCdk9qSGU4UE95NmJYTksxKy8rS3AxUTdWUDlGZUZmSnplWE40OXc9IiwidXNlcm5hbWUiOiJhZG1pbiJ9fX0=" +TOKEN="" +WORFLOW="" NB_EXEC=$1 TIME=$2 @@ -48,7 +49,7 @@ for ((i = 1; i <= $EXECS; i++)); do # echo $PAYLOAD - curl -X 'POST' 'http://localhost:8000/scheduler/62c55a70-e295-45e6-9925-a98137d59abc' \ + curl -X 'POST' "http://localhost:8000/scheduler/$WORKFLOW" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d "$PAYLOAD" \ diff --git a/docs/performance_test/performance_report.md b/docs/performance_test/performance_report.md index e69de29..eaa4d6a 100644 --- a/docs/performance_test/performance_report.md +++ b/docs/performance_test/performance_report.md @@ -0,0 +1,43 @@ +We used a very simple mono node workflow which execute a simple sleep command within an alpine container + +![](wf_test_ram_1node.png) + +# 10 monitors + +![alt text](10_monitors.png) + +# 100 monitors + +![alt text](100_monitors.png) + +# 150 monitors + +![alt text](150_monitors.png) + +# Observations + +We see an increase in the memory usage by the OC stack which initially is around 600/700 MiB : + +``` +CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS +7ce889dd97cc oc-auth 0.00% 21.82MiB / 11.41GiB 0.19% 125MB / 61.9MB 23.3MB / 5.18MB 9 +93be30148a12 oc-catalog 0.14% 17.52MiB / 11.41GiB 0.15% 300MB / 110MB 35.1MB / 242kB 9 +611de96ee37e oc-datacenter 0.32% 21.85MiB / 11.41GiB 0.19% 38.7MB / 18.8MB 14.8MB / 0B 9 +dafb3027cfc6 oc-front 0.00% 5.887MiB / 11.41GiB 0.05% 162kB / 3.48MB 1.65MB / 12.3kB 7 +d7601fd64205 oc-peer 0.23% 16.46MiB / 11.41GiB 0.14% 201MB / 74.2MB 27.6MB / 606kB 9 +a78eb053f0c8 oc-scheduler 0.00% 17.24MiB / 11.41GiB 0.15% 125MB / 61.1MB 17.3MB / 1.13MB 10 +bfbc3c7c2c14 oc-schedulerd 0.07% 15.05MiB / 11.41GiB 0.13% 303MB / 293MB 7.58MB / 176kB 9 +304bb6a65897 oc-workflow 0.44% 107.6MiB / 11.41GiB 0.92% 2.54GB / 2.65GB 50.9MB / 11.2MB 10 +62e243c1c28f oc-workspace 0.13% 17.1MiB / 11.41GiB 0.15% 193MB / 95.6MB 34.4MB / 2.14MB 10 +3c9311c8b963 loki 1.57% 147.4MiB / 11.41GiB 1.26% 37.4MB / 16.4MB 148MB / 459MB 13 +01284abc3c8e mongo 1.48% 86.78MiB / 11.41GiB 0.74% 564MB / 1.48GB 35.6MB / 5.35GB 94 +14fc9ac33688 traefik 2.61% 49.53MiB / 11.41GiB 0.42% 72.1MB / 72.1MB 127MB / 2.2MB 13 +4f1b7890c622 nats 0.70% 78.14MiB / 11.41GiB 0.67% 2.64GB / 2.36GB 17.3MB / 2.2MB 14 + +Total 631.2 Mb +``` + +However over time with the repetition of a large number of scheduling that the stacks uses a larger amount of RAM. + +Espacially it seems that **loki**, **nats**, **mongo**, **oc-datacenter** and **oc-workflow** grow overs 150 MiB. This can be explained by the cache growing in these containers, which seems to be reduced every time the containers are restarted. + diff --git a/docs/performance_test/wf_test_ram_1node.png b/docs/performance_test/wf_test_ram_1node.png new file mode 100644 index 0000000..b1cc69a Binary files /dev/null and b/docs/performance_test/wf_test_ram_1node.png differ diff --git a/performance_test b/performance_test new file mode 100644 index 0000000..b1cc69a Binary files /dev/null and b/performance_test differ