zlacker

[parent] [thread] 9 comments
1. dekhn+(OP)[view] [source] 2023-07-13 17:33:11
Disagree- typically vertical scaling is lumpy, and even worse- CPU and RAM upgrades are typically not linear, because you're limited by the number of slots/sockets and the manufacturers intentionally charge higher (expoentially) prices for the largest RAM and fastest CPUs.
replies(3): >>moreli+M3 >>vegabo+2b >>defend+KO
2. moreli+M3[view] [source] 2023-07-13 17:45:36
>>dekhn+(OP)
Kafka is also a system that can make pretty good general use of more CPUs and more storage, but doesn't have much need for RAM. Tying the CPU and RAM together whether by CPU model or cloud vendor offerings is annoying if you're trying to scale only vertically.
replies(1): >>defend+sN
3. vegabo+2b[view] [source] 2023-07-13 18:10:27
>>dekhn+(OP)
If they charge these big numbers more it's precisely because they're trying to capture some of the embarrassingly better value you get from vertical scaling. It's a testament to vertical scaling's effectiveness that they _can_ do so.
replies(1): >>foota+ow
◧◩
4. foota+ow[view] [source] [discussion] 2023-07-13 19:43:08
>>vegabo+2b
Sure, but by doing so they consume the effectiveness?
replies(1): >>dekhn+zx
◧◩◪
5. dekhn+zx[view] [source] [discussion] 2023-07-13 19:48:41
>>foota+ow
No, because you pay a fixed cost to get higher performance and then benefit through the whole lifetime of the product (I'm assuming you are purchasing rationally and keep your machines loaded at 75% or better, and your software is not egregiously wasteful).
◧◩
6. defend+sN[view] [source] [discussion] 2023-07-13 21:07:22
>>moreli+M3
Kafka can keep a decent bit of data in RAM using file system pages. Often times you end up wasting CPUs on kafka nodes, not memory i think.

https://docs.confluent.io/platform/current/kafka/deployment....

replies(1): >>moreli+1V
7. defend+KO[view] [source] 2023-07-13 21:14:06
>>dekhn+(OP)
With clouds this is not true anymore. They are exactly linear. If you ask for a smaller node they are simply propositioning a chunk of a larger machine anyway.

There is a point where the exponential pricing starts, but that point is way out there than most people expect. Probably ~100CPU, ~1TB RAM, >50Gbps network etc.

replies(1): >>dekhn+Qa1
◧◩◪
8. moreli+1V[view] [source] [discussion] 2023-07-13 21:44:40
>>defend+sN
I find that if you are seeking lots of consumers around large topics no amount of RAM is really sufficient, and if you are mostly sticking to the tails like a regular Kafka user, even 64GB is usually way more than enough.

CPU isn't usually a problem until you start using very large compactions, and then suddenly it can be a massive bottleneck. (Actually I would love to abuse more RAM here but log.cleaner.dedupe.buffer.size has a tiny maximum value!)

Kafka Streams (specifically) is also configured to transact by default, even though most applications aren't written to be able to actually benefit from that. If you run lots of different consumer services this results in burning a lot of CPU on transactions in a "flat profile"-y way that's hard to illustrate to application developers since each consumer, individually, is relatively small - there's just thousands of them.

◧◩
9. dekhn+Qa1[view] [source] [discussion] 2023-07-13 23:23:59
>>defend+KO
They're linear... because they're charging you rates based on the cost of the large server, divided down into whatever server you provisioned.

Amusingly, for $94K (probably more like $85K after negotiation) you can buy a white box server: Dual Epyc 9000, 96 core/192thread, 3.5GHz, w/ 3TB RAM, 240T of very fast SSD, and a 10G NIC. The minimum config, Dual Epyc 9124, 16core/32thread, 64GB RAM, and only 4TB of storage is $9K (more like $8K after negotiation). That's "only" a factor of 10 in price for 8X CPUs, 48X the RAM, and 60X the storage.

replies(1): >>Dylan1+Mt1
◧◩◪
10. Dylan1+Mt1[view] [source] [discussion] 2023-07-14 02:09:19
>>dekhn+Qa1
> They're linear... because they're charging you rates based on the cost of the large server, divided down into whatever server you provisioned.

And the reason they do it that way is because it's cheaper. Because the scaling is sublinear up to a good size.

[go to top]