Hacker News new | ask | show | jobs
by yeraydarias 3497 days ago
We made some stress tests in the past and it is quite useful.

We did it with Gatling (a very known tool in the Java world) in some of our local machines requesting our machines in Amazon EC2.

As it was commented previously, the test depends on various points, to tell a few: * Do you want to test a complete web or just a few services? * The speed of your system depends on the number of instances or there are other points to look like the database connection? * Do you want to test vertical scale or you want to know about the horizontal scaling too?

We did the tests mainly to know the "breaking point" of our database that was our "weakest link".

Anyway, stress tests are quite useful and give you an idea about how much your system can scale and helps to detect where to improve code before expending too much money in servers.

1 comments

Never heard of gatling either. Thanks. How many local machines did you need to hit the "breaking point"? Seems like local bandwidth / available machines etc. could quickly become a bottleneck.
Yeah sure, depends on your architecture and the kind of application ... in our case we had one machine scraping data and writing it in the database. One backend machine to organize the scrapers data and to do some organization tasks. And finally the front was two machines.

At first those 4 machines were hitting the database so much that it was the bottleneck, what we did to solve that was to reduce the number of accesses done by the front machines using a memory cache. It can increase the latency when loading the cache but works fine 95% of the time.

Another option for us could be a larger database machine, but we were using Amazon RDS ... believe me you want to keep that machine as small as possible or expend a lot of money :-)

Sorry I didn't answered previously about the number of local machines. Actually it depends much more on the network configuration than the number of machines itself in our case.

We used two machines to simulate up to 600 requests per second, that was much more than our average use, actually much much more. And we measured it without HAProxy or Varnish or similar systems between our servers and the clients.