DEV Community

Jashua
Jashua

Posted on • Edited on

How do people learn about server load and performance?

For example, how do you know how many concurrent users can a server support?

I've always wondered about things like that.

Top comments (5)

Collapse
 
ludeknovy profile image
Ludek

You can do some performance testing of your application (pro-active approach) or just deploy it and monitor it (reactive approach). Or combine these two approaches.

For performance testing you could use already mentioned BlazeMeter, JMeter with Taurus, if you would like to avoid dealing with xml (JMeter saves its output as xml), but rather threat you performance tests as a code, you could try Locust.io or K6.io.

For monitoring there is plethora of tools - datadog, NewRelic, Elastic APM, Dynatrace to name a few.

Collapse
 
loujaybee profile image
Lou (🚀 Open Up The Cloud ☁️) • Edited

You could try adding this post into #devops and #cloud too btw. It might help the response rate. In personal experience there's no simple way to "know", you can run load testing to get an idea, but ultimately you have to put things into production to see how they respond. If you have a new service you can put traffic from the old service into the new one (without the user noticing) to get some data on the performance expectations. Apart from that, if you know you're expecting heavy load you usually just setup alerts on the service (and scaling rules if necessary) to scale when needed. Hope that helps!

Collapse
 
nestedsoftware profile image
Nested Software • Edited

There are a variety of tools out there, e.g. ab and jmeter. There are also companies that provide saas (software as a service) products, e.g. blazemeter.

Collapse
 
jouo profile image
Jashua

Thank you that's what I was looking for, good starting point :)

Collapse
 
taragrg6 profile image
taragurung

There is something called Locust too. Easy to start and great tool. You just need some python knowledge.