yeraydarias
Joined 10 years ago
Joined 10 years ago
When you start using a NoSQL solution it can be nice and fit the problem quite well. Then the solution gets bigger, new features appear and new data is stored, but the storage is NoSQL. With the solution getting bigger some business intelligence could be required by marketing or other people in the company. But we all know that NoSQL solutions aren't so good with aggregated queries, but in the rush it is hard to slow down to create a second solution for this kind of queries.
So, yes, you are right when you say "People not understanding what NoSQL is good for and when to use it over relational". But the main problem is that you don't know the complete problem in advance usually.
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.
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 :-)
This will help girls to have a heroine, to feel good about wanting to be a software developer or an engineer. And I hope it will open people eyes about software wasn't only for men.
Apple already told in the past, that the main reason to keep the manufacture in China are the last minute changes. USA or Europe cannot deal with that kind of changes and the labor laws that we have doesn't help ... just my IMHO. Labor laws and labor conditions in China or India are cruel, but works for capitalist markets.
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.