Kinda funny they decided paying a ton of money to aws was ok but paying for nginx plus was not
Reining in the thundering herd: Getting to 80% CPU utilization with Django
41–50 of 139 posts
Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#42Kinda funny they decided paying a ton of money to aws was ok but paying for nginx plus was not
ClubHouse runs on AWS?
Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#43Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#441M requests per minute on 1000 web instances is not an achievement, it is a disaster. It is ridiculous people brag about it. Guys, if you have budget maybe I can help you up this by couple orders of magnitude.
To be honest the article does realize this, first blaming it on the poor hindsight from original developer (co-founder) and in the conclusion about maybe rewriting the whole thing. It seemed to be all about how to extract the most performance from the lemon they had to deal with. I found the linked reference really informative too: https://rachelbythebay.com/w/2020/03/07/costly/
Per my experience most applications that mostly serve documents from databases should be able to take on at least 10k requests per second on a single node. this is 600k requests per minute on one node, compared to their 1M per 1000 nodes.
This is what I am typically getting from a simple setup with Java, WebFlux and MongoDB with a little bit of experience on what stupid things not to do but without spending much time fine tuning anything.
I think bragging about performance improvements when your design and architecture is already completely broken is at the very least embarrassing.
> poor hindsight from original developer (co-founder)
Well, you have a choice of technologies to write your application in, why chose one that sucks so much when there are so many others that suck less?
It is not poor choice, it is lack of competency.
You are co-founder and want your product to succeed? Don't do stupid shit like choosing stack that already makes reaching your goal very hard.
Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#45Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#46Earlier quoted context omitted.
To be honest the article does realize this, first blaming it on the poor hindsight from original developer (co-founder) and in the conclusion about maybe rewriting the whole thing. It seemed to be all about how to extract the most performance from the lemon they had to deal with. I found the linked reference really informative too: https://rachelbythebay.com/w/2020/03/07/costly/
I don't know Python or how complex their domain is but the number of workers suggests to me it is not that complex and their application spends most of its time switching contexts and in inefficient frameworks. Per my experience most applications that mostly serve documents from databases should be able to take on at least 10k requests per second on a single node. this is 600k requests per minute on one node, compare…
Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#47Earlier quoted context omitted.
By this logic, why not Java, C++, Rust, Go, C#? They’re all web-capable and blow the doors off PHP, Python, etc.
C#, Java, C++ need application servers, no? "Serverless" scales infinitely due to its simpler request/response lifecycle.
Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#48Earlier quoted context omitted.
By this logic, why not Java, C++, Rust, Go, C#? They’re all web-capable and blow the doors off PHP, Python, etc.
Yes all of those would be way better options than Python and probably PHP. Well maybe not C++. You'd have to be pretty crazy to have web developers writing security sensitive code in C++. The "blame our co-founder for the choice" bit is exactly what that graph about the cost of defects vs how early they are fixed is talking about. If they had just picked Go or Java right at the start they wouldn't have had to expend…
Re: Reining in the thundering herd: Getting to 80% CPU utilization with Django
#49Kinda funny they decided paying a ton of money to aws was ok but paying for nginx plus was not
I kinda get that honestly. It’s why I’ll spend $20 without even thinking for take out but not spend $2 for an app. It’s because the cost off the software is way way more than the money. It’s a commitment to actually use it and integrate it, deal with their sales team, talk to purchasing, handle licensing, and introducing friction to replacing it or using tools that don’t integrate well because “well we already pay fo…