Live data from Hacker News

Russ’ 10 Ingredient Recipe for Making 1 Million TPS on $5K Hardware

highscalability.com

41–45 of 45 posts

Re: Russ’ 10 Ingredient Recipe for Making 1 Million TPS on $5K Hardware

#41
post #25

Earlier quoted context omitted.

Of course, if you use Netmap/DPDK/PF_RING you have to bring your own TCP stack, which is more than many app developers are comfortable with.

Excellent point which I missed :) Can you tell I live in an L3 bubble? I am surprised (from a quick Google) there is no open-source user-space PF_RING-aware TCP stack. Am I missing something?

No I don't think you are, at least for open source production grade. Intending to do some work on this when I get a chance. There is a talk at Eurobsdcon this year on using the FreeBSD network stack in userspace and Netbsd also an option, fixing locking and interrupts are issues with using these stacks out of kernel to get good performance as the environment is rather different.

Re: Russ’ 10 Ingredient Recipe for Making 1 Million TPS on $5K Hardware

#42

Gee, that's spectacular. Now... If only they would do the reader the simple, and most gracious service of defining precisely what they mean by this obscure "TPS" acronym. ...and before you downvote this comment (because I can smell your itchy little fingers all the way from the otherside of the internet), yes, I can assure you that I did actually Google for the answer. And yes, I did discern what is meant by TPS. But…

>The point is that the author is assuming everyone will immediately know and understand that acronym, but meanwhile, when I conduct my search, I am forced to assume that my chosen definition is correct, wihout actually knowing for sure.

If you don't know what the acronym means, then the article is not meant for you. The author did not write it nor intend it as a general introduction for newcomers to learn the basics.

It's about some some specific techniques in a specific field.

With your logic, why stop at explaining TPS? He would also have to spell out IRQ, explain what IRQ interupts are, what is a tasket, what does it mean to 'pin' a process, what NoSQL means, what's this Redis thing he mentions etc etc.

(That the author of TFA abuses the acronym is beside the point).

Re: Russ’ 10 Ingredient Recipe for Making 1 Million TPS on $5K Hardware

#44

Earlier quoted context omitted.

So, disk writes are necessary, after all? Yes, there are lots of tricks, like placing that append-only physical transaction log on a different controller with a distinct storage device, etc. Data partitioning is the another big idea. Having indexes in memory to avoid unnecessary reads, using collected statistics in a query optimizer, etc. But nothing could beat the partitioning based on actual workloads and separatio…

There's also RethinkDB which seems to be focused on the D in acid while being a non-relational database. When you really need performance, in general relationships/joins need to go out the window as much as possible, and often one or more of the letters in ACID are compromised. It should get very interesting in the next couple of years.. of course MOST environments don't need the kind of performance or scale that the…

I see rethinkdb as being focused more on the data model and language, and the cluster administration experience. The performance doesn't seem compelling yet, though they are admirably durable by default.

You're right, with a reliably performant engine you can get a lot more out of a single machine than a lot of people these days seem to think. That's part of our vision for TokuMX, to bring back a little bit of "scale up" potential to the NoSQL space.

Re: Russ’ 10 Ingredient Recipe for Making 1 Million TPS on $5K Hardware

#45
post #28

Earlier quoted context omitted.

Excellent point which I missed :) Can you tell I live in an L3 bubble? I am surprised (from a quick Google) there is no open-source user-space PF_RING-aware TCP stack. Am I missing something?

When you're doing packet capture that normally costs one system call per packet, Netmap/DPDK/PF_RING are a clear win. But with TCP a single system call can send or receive many packets and TSO/LRO offloads help even more. I haven't seen any numbers about the benefits of kernel bypass for TCP; maybe SolarFlare has some.

I was about to point out solarflare's openonload. Its only compatible with an sfc nic though. With onload, i've seen about a 20% throughput increase when turning onload on.
Post reply on HN