task #6074
opentest for the name catalogue service
0%
Description
the name catalogue has failed in the past an no one noticed it: #5860
We already have tests for the catalogue (http://test.e-taxonomy.eu/jenkins/job/edit-name-catalogue-jmeter-tests/) but these are not working anymore!
We urgently need new tests or the existing test must be fixed.
Gatling¶
Gatling seems like a good general purpose tool to test rest services: http://sysgears.com/articles/restful-service-load-testing-using-gatling-2/
Virtual users vs requests per second
Since users are vague metric, but requests per second is metric that most server monitoring tools support it is possible to use this approach. Gatling supports so-called throttling: throttle(reachRps(100) in 10.seconds, holdFor(5.minutes)). It is important to put holdFor() method, otherwise, Gatling goes to unlimited requests per second and can crash the server. More details on simulation setup can be found on Gatling Simulation setup page. (from https://automationrhapsody.com/performance-testing-with-gatling-tips-and-tricks-for-advanced-usage/)
See also https://gatling.io/docs/current/general/simulation_setup/
Connection Sharing
In Gatling 1, connections are shared amongst users until 1.5 version. This behavior does not match real browsers, and doesn’t support SSL session tracking.
In Gatling 2, the default behavior is that every user has his own connection pool. This can be tuned with the .shareConnections param
.
val httpProtocol = http .baseUrl(" https://cleop.bgbm.org/herbarium") .shareConnections
Related issues