Maximum load for Confluence

We’d like to stress test our add-on with JMeter. So I’d like to know whether there is a maximum load for add-on or for Confluence, like if a user use scripts to call confluence rest api, at which rate will he considered as a DDOS.

Thank you.

Hi @anon21637378, I’ve been discussing this question internally for a little while. Unfortunately, I need to point you to our Acceptable Use Policy which guides us on the use of stress testing apps like JMeter, specifically:

Overwhelming or attempting to overwhelm our infrastructure by imposing an unreasonably large load on our systems that consume extraordinary resources (CPUs, memory, disk space, bandwidth, etc.), such as:

  • Using “robots,” “spiders,” “offline readers,” or other automated systems to send more request messages to our servers than a human could reasonably send in the same period of time by using a normal browser
  • Going far beyond the use parameters for any given service as described in its corresponding documentation
  • Consuming an unreasonable amount of storage for music, videos, pornography, etc., in a way that’s unrelated to the purposes for which the services were designed

Ultimately this is saying that we don’t support the use of stress testing Apps in our Cloud Products (including developer instances as they are not different from production instances in the hosting environment).

I think the best thing to do is to stress-test your app outside of the Atlassian product.

Perhaps some other vendors have tips on how they perform their tests.

My suggestion would be to figure out how to abstract out the Atlassian pieces so that you don’t include them in the tests. From your perspective they’re just a magical provider (more about the magical piece in a sec).

I would stress test the pieces you control (your database, app server etc). If your app server code is making calls out to an Atlassian instance - mock it during the test. That way you are getting the results that you can do something about (and are reliable from your perspective).

Now wherever you are mocking things - I would see how many times you are calling to mock etc to make sure that it makes sense that if there is one http call - it makes 20 http calls to a single end point - that might be a signal that you’ll want to refactor things…

The reason I’m advocating for removing Atlassian from the equation from the stress test is that while they’re a service provider to you, they are also a server provider to your user (thus the magical piece). If Atlassian is failing for you - they’re probably failing for the end user already… Also, every Atlassian instance is special (different amounts of users, issues etc) and Atlassian can apply different rate limiting on them as necessary (thus the value you identified during your tests against instance X might be very different against a real customers’ instance).