Project

General

Profile

task #6074

Updated by Andreas Kohlbecker about 3 years ago

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](http://gatling.io/#/) 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 
 ~~~ 


Back