Live data from Hacker News

The database servers powering Let's Encrypt

letsencrypt.org

141–150 of 236 posts

Re: The database servers powering Let's Encrypt

#141

Earlier quoted context omitted.

Based on their stated 225M sites and a renewal period of 90 days, they're probably averaging around 40 certificates per second. That's only an order of magnitude higher than bitcoin; I wouldn't call it an indication of an ability to scale to a particularly large amount of traffic.

They might average that, but we all know averages only work on paper. For example, AWS has tutorials that provide instructions on how to setup TLS in a LAMP stack running on Linux 2 EC2s. As part of the Let's Encrypt setup, they provide a crontab entry that runs twice a day with a copy option to paste. How many EC2s all hit the Let's Encrypt server at that exact time? Since EC2s default to UTC time, that means that s…

Certbot has a random sleep before it does anything when run non-interactively.

Re: The database servers powering Let's Encrypt

#142

What form factor are those NVMe drives and how are the connected? I see cables, so I'm assuming they're not all plugged straight into their own PCIe slot. Are there a bunch of M.2 headers on the motherboard?

U.2. The drives have PCIe lanes connected via the blue cables to the motherboard, which is then wired to the CPU. Here's a review that goes into details on the hardware: https://www.servethehome.com/dell-emc-poweredge-r7525-review...

Re: The database servers powering Let's Encrypt

#143
post #109

Earlier quoted context omitted.

Yes, that's worth noting. The $200k is the list/retail, which nobody would pay for a purchase of this size.

At this size/scale I wonder what the actual price would be for a comparable Supermicro system. If I had to make a wild guess, well under half the 200k previously quoted.

The NVME drives are what's making it so expensive. Dell retail is $6044 for each of the Intel P4610 6.4TB drives. That's $145k.

Re: The database servers powering Let's Encrypt

#144
post #143

Earlier quoted context omitted.

At this size/scale I wonder what the actual price would be for a comparable Supermicro system. If I had to make a wild guess, well under half the 200k previously quoted.

The NVME drives are what's making it so expensive. Dell retail is $6044 for each of the Intel P4610 6.4TB drives. That's $145k.

after 15 seconds of googling, the P4610 U.2 format 6.4TB seems something more like a single unit street price of $2400 from non-Dell vendors. I'm mildly surprised it's that low considering that the U.2 format stuff, for serious servers, will always command a premium price.

Probably in the range of $2100 to $2200 per unit from a x86-64 component distributor in moderate quantities.

Re: The database servers powering Let's Encrypt

#145

As someone unfamiliar with db management, is it really less operational overhead to have to physically scale your hardware than using a distributed option with more elastic scalability capabilities?

Also worth noting that scalability != efficiency. With enough NVMe drives, a single server can do millions of IOPS and scan data at over 100 GB/s. A single PCIe 4.0 x4 SSD on my machine can do large I/Os at 6.8 GB/s rate, so 16 of them (with 4 x quad SSD adapter cards) in a 2-socket EPYC machine can do over 100 GB/s. You may need clusters, duplicated systems, replication, etc for resiliency reasons of course, but a s…

My mind exploded when realizing we can read random IO from disk at 40GB/s, which is faster than my laptop can read from RAM. https://spdk.io/news/2019/05/06/nvme/ Btw. using SPDK or io_uring?

Re: The database servers powering Let's Encrypt

#146

Earlier quoted context omitted.

> This strikes me as odd. In my experience, traditional OLTP row stores are I/O bound due to contention (locking and latching). Does anyone have an explanation for this? Yes. My CTO, Avi Kivity did a great talk about this at Core C++ 2019: https://www.scylladb.com/2020/03/26/avi-kivity-at-core-c-201... Let me boil it down to a few points; some beyond Avi's talk: • Traditional RDBMS with strong consistency and ACID gu…

> But the main point is that you have to really think about how to re-architect your software to take advantage of huge multi-processor machines. I appreciate the response but it doesn't address my question: given that Let's Encrypt's MySQL-family RDBMS does not implement any of the multi-core/multi-socket/cpu-affinity/lock-free/asyncIO techniques used by databases like ScyllaDB, MemSQL, and VoltDB, why were they see…

On "cloud" servers we usually see that when disk I/O stops being the bottleneck (given enough disk I/O you can account for small amounts of RAM). So I'd guess their disk setup had some capacity left when they upgraded or they just have a lot of reads and the data fits in memory

Re: The database servers powering Let's Encrypt

#147
post #143

Earlier quoted context omitted.

The NVME drives are what's making it so expensive. Dell retail is $6044 for each of the Intel P4610 6.4TB drives. That's $145k.

after 15 seconds of googling, the P4610 U.2 format 6.4TB seems something more like a single unit street price of $2400 from non-Dell vendors. I'm mildly surprised it's that low considering that the U.2 format stuff, for serious servers, will always command a premium price. Probably in the range of $2100 to $2200 per unit from a x86-64 component distributor in moderate quantities.

Just noticed this in the Dell cart...

"42% off list price: use code SERVER42"

Doesn't make the price reasonable exactly, but it's kind of funny.

Re: The database servers powering Let's Encrypt

#148
post #93

Earlier quoted context omitted.

Totally. 2 TB of RAM! In one box! I think the first servers I had in production had 8 MB RAM. No more, certainly. Soon we'll be at 1000x that. My dad's first "server" was 3 orders of magnitude smaller, with 8 KB of RAM (hand-wound wire core memory). In that time, the US population hasn't even doubled.

More like 1,000,000x

Oops! Yes, that's correct.

Re: The database servers powering Let's Encrypt

#149
post #130

Earlier quoted context omitted.

It sounds like you just hit the threshold where defaults don't cut it anymore. With >100 concurrent clients you need to tune your DB for your workload. innodb_thread_concurrency and innodb_concurrency_tickets would be a good starting point, and optimal values depend on your r/w balance and number of rows touched per type of query.

I'm saying the innodb buffer pool mutex doesn't scale over 100 contenders and you are saying that I can tune mysql so there's never more than that, which it seems to me like we're in agreement.

I did a quick search and it looks like InnoDB implements a spin-lock. Do you see increased CPU utilization when the buffer pool is overloaded? This could explain the behavior described in the article.

Re: The database servers powering Let's Encrypt

#150

I'm more interested in how they used ZFS to provide redundancy. I always thought ZFS was optimized for spinning platters with SSD's used for persistent caching. In this scenario they used it to set up all their SSD's in mirrored pairs then stripe across that. No ZIL. They've tweaked a few other settings as well [1]. I'd be curious to see more benchmarks and latency data (especially as they're utilizing compression, a…

ZFS is optimized for storing data, you can ZIL into an SSD but you can also ZIL into something faster.
Post reply on HN