Let's Encrypt的下一代业务数据库服务器

Let's Encrypt的证书业务为全世界逾2.35亿的网站提供TLS证书,其业务都基于数据库库进行管理。如果数据库性能对其业务至关重要,如果性能不足,则可能导致其用户的API请求错误和超时。2020年末,Let's Encrypt升级了数据库服务器,性能得到大幅度提高。日前,Let's Encrypt披露了这次升级的细节,请随虫虫一起学习一下。

Let's Encrypt的下一代业务数据库服务器

数据架构

Let's Encrypt基本架构是一个Golang语言开发的CA软件Boulder。Boulder也是一个开源软件,用来查询来管理订户帐户和整个证书颁发过程。Boulder源码托管在Github上(github:/letsencrypt/boulde),核心数据架构以MySQL为基础,使用MariaDB,InnoDB引擎。

Let's Encrypt的下一代业务数据库服务器

为了最小化复杂性,CA基于单数据库运行。最小化复杂度有利于安全性,可靠性并减轻维护负担。在任何给定时间,都有许多活动的数据库副本,通过将一些读取操作定向到副本数据库服务器,以减少主数据库上的负载。这种设计的使得对数据库服务器性能要求很高,需要的硬件要求非常高。

硬件规格

尽管上一代数据库硬件已经很强(Xeon E5-2650 24核/48线程,1TB内存,24x 3.8TB三星PM883 SATA SSD ),但是已经到了瓶颈。为了在同等尺寸下2U,可以提高性能一倍以上。选型时候采取了AMD EPYC芯片的Dell PowerEdge R7525。

详细配置对比如下:

Let's Encrypt的下一代业务数据库服务器

Dell PowerEdge R7525 内部,中间一排的两个银色散热片下面是CPU。大小为64GB的RAM内存条,分布式在两个CPU之间共计32。24个NVMe驱动器位于机箱最左侧一排。

Let's Encrypt的下一代业务数据库服务器

AMD霄龙架构,可以支持64个物理CPU内核,CPU速率可以达到2.9GHz和3.4GHz(增强)。更重要的是,霄龙架构提供了128个PCIe v4.0通道,这样可以在一台服务器上设置24个NVMe驱动器。NVMe的速度非常快(比SATA SSD快5.7倍)。现代消费类芯片通常只支持16个PCIe通道,英特尔的Xeon芯片,也只有48条通道。

性能测试

升级后,Let's Encrypt团队进行了,相应的基准测试。其中最重要的是请求处理的中位数(50%)开始,因为它最能反映用户的体验。升级之前,处理了50%的API请求约要耗费90毫秒。升级后,耗时降至约9毫秒!

Let's Encrypt的下一代业务数据库服务器

CPU利用率:

旧CPU达到了极限。在升级主数据库服务器的前一周,CPU使用率(/proc/stat)平均超过90%:

Let's Encrypt的下一代业务数据库服务器

升级后CPU使用了,只有25%,图上都显示不了。

IO读写:新数据库服务器从副本服务器(只读)升级为主要数据库(读/写)。

Let's Encrypt的下一代业务数据库服务器

升级后还大大减少了整体数据库延迟。平均查询响应时间(INFORMATION_SCHEMA)约为0.45毫秒。

Let's Encrypt的下一代业务数据库服务器

现在,查询平均速度提高了三倍,约为0.15毫秒。

Let's Encrypt的下一代业务数据库服务器

总结

通过升级硬件设备, Let's Encrypt在机箱尺寸不变的情况下,通过改变为ADM霄龙架构,让服务器处理器,内存和硬盘存储都得到2倍的提高。升级后业务处理能力获得很大性能改善,请求耗时减少了十倍,数据查询速度提高了三倍以上。

展开阅读全文

页面更新:2024-05-11

标签:三星   服务器   数据库   业务   最小化   驱动器   副本   架构   芯片   通道   证书   平均   性能   速度   硬件   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top