...

高性能虚拟主机:哪些硬件(CPU、NVMe、内存)真正相关

2025 年的高性能虚拟主机首先取决于三点: CPU-使用强大的单线程和足够的内核,性能非常快 NVMe-通过 PCIe 4.0/5.0 存储器和足够的 DDR5 内存。如果将这些硬件合理地组合在一起,就能大大降低 TTFB,保持稳定的响应时间,并为缓存、PHP Worker、数据库和其他应用创建储备。 背景介绍-工作。.

中心点

  • CPU 内核 和时钟决定并行请求和单线程速度。.
  • DDR5 内存 为缓存、数据库和 PHP Worker 提供带宽。.
  • NVMe 到 PCIe 4.0/5.0,减少了延迟并大幅提高了 IOPS。.
  • 网络 限制或释放吞吐量和 CDN 效果。.
  • 建筑学 (共享/VPS/专用)设置了储备和隔离框架。.

CPU 性能 2025:内核、时钟速度和架构

我关注 CPU 首先要有较高的基本时钟频率,因为许多内容管理系统和商店在很大程度上依赖于单线程速度。八到十六个内核可为 PHP FPM 工作、搜索索引、维护工作和数据库查询提供足够的空间,而不需要 战术 在负载情况下下降太多。当有许多类似请求时,具有性能和效率内核的现代设计会有所帮助,但单核性能对于 PHP 繁重的工作负载仍然至关重要。VPS 环境得益于 CPU 引脚和公平的调度程序设置,可避免窃取时间问题,并保持 p95 响应时间。如果您想了解更多细节,请阅读我的紧凑型比较 单线程与多核 并决定一个项目真正需要多少核心深度。.

操作系统和内核:小调整,大作用

除了纯硬件外,内核和操作系统的调整也能显著提高性能。我使用带有稳定网络驱动程序的最新 LTS 内核,并只激活必要的模块,以尽量减少中断负载。CPU 总督为生产型网络服务器运行在 性能, 在选择 C 状态时,时钟频率不会在每次空闲时急剧下降。. 伊拉克平衡 或有针对性地将网络中断分配给内核,这样就不会产生热 CPU。我经常停用数据库的 "透明超大页面"(......)。始终 来自, madvise 开),以避免出现延迟峰值。. 交换 我保持保守(例如 10-20),这样热内存就不会过早转移到硬盘上。在 I/O 堆栈中,我使用 NVMe 的调度程序 分别 mq-deadline 并用 noatime, 以节省不必要的写入。.

内存:容量、时钟和 ECC

足够 内存 快速 DDR5 内存可防止硬盘 IO,并为缓存和 InnoDB 缓冲区提供带宽。对于现代 WordPress 或 Shopware 设置而言,16-32 GB 是一个很好的起点,而大型商店或多站点则倾向于使用 64-256 GB 并增加缓存命中率来实现可预测的运行。ECC-RAM 可减少静默位错误,在没有大量缓存命中的情况下提供明确的运行可靠性,尤其适用于电子商务或 SaaS。 管理费用. .四条或更多内存通道可提高吞吐量,这对高速缓存份额的影响是显而易见的。如果合理地错开内存大小,紧凑的 内存比较 快速了解容量、时钟和对延迟的影响。.

存储管理和交换策略

我特意制定了掉期计划--不是作为业绩储备,而是作为安全网。较小的掉期规模可以防止在短期高峰期出现 "OOM杀手 "意外。使用 cgroups v2 因此,对于 Redis 和数据库,最好分配更多内存并合理规划持久化写入,而不是寄希望于交换。对于 Redis 和数据库来说,与其寄希望于交换,不如分配更多内存并合理规划持续写入。. 透明的页面共享 很少与虚拟机相关,因此我将优化工作转移到缓冲区大小、查询缓存(在适当的情况下)和 jemalloc/tcmalloc 用于存储密集型服务。.

NVMe 存储:正确使用 PCIe 4.0/5.0

NVMe IOPS、延迟和队列深度行为比以 MB/s 为单位的裸吞吐量更重要。PCIe 4.0 足以满足大多数工作负载的需求,但如果控制器和固件工作正常,高度并行的应用和大量同时写入的应用会受益于 PCIe 5.0。RAID1 或 RAID10 可提供故障转移保护并分散读取,从而稳定 TTFB 和 p95 值,而回写缓存可平滑突发。我还会检查 TBW 和 DWPD,因为日志、缓存和搜索索引的持续写入会加速磨损。如果您仍有疑问,请看一下比较 固态硬盘与 NVMe 并指出 SATA 固态硬盘在 2025 年将成为瓶颈的原因。.

文件系统和 RAID 布局:稳定性先于原始性能

对于网络和数据库工作负载,我通常使用 XFSext4 - 两者都具有可重复的延迟和可靠的恢复特性。XFS 在大型目录和并行写入方面表现出色,而 ext4 则适用于开销最小的狭窄设置。. noatime, 合理 密码-密度和清洁 条子-对 RAID 进行调整可防止无声的性能损失。在软件 RAID 中,我注意使用 IO 限制来控制重建窗口,这样用户就不会在降级过程中遇到延迟跳变。写入意图位图和定期擦除可保持较高的容错性。.

网络、延迟和输入/输出路径

A 强 网络 在 TLS 握手、HTTP/2 或 HTTP/3 多路复用顺利通过时,可防止快速服务器等待数据包。对于许多项目来说,1 Gbit/s 已经足够,但当涉及到 CDN、对象存储和数据库复制时,10 Gbit/s 则会重构瓶颈。我非常重视良好的对等互联合作伙伴、与大型骨干网的短距离连接以及内部服务的明确 QoS 配置文件。内核卸载、现代 TLS 堆栈和简洁的拥塞控制也能降低延迟峰值。这样就能保持稳定的响应时间和 用户-即使在交通高峰期,体验也能持续。.

CDN、边缘和卸载

CDN 不仅仅是带宽: 原产地屏蔽, 清除 HTML、API 和资产的缓存密钥和策略决定了 Origin 的实际负载量。我使用 HTTP/3, TLS 1.3面包棒 始终如一,制定合理的 缓存控制-在此基础上,我们还将对媒体和下载负载进行调整,以适应新的媒体和下载负载,并区分边缘 HTML 微缓存(秒)和长资产缓存。媒体和下载负载转移到对象存储,直接通过 CDN 访问,以实现应用栈的解耦。这样,服务器就可以自由地进行动态工作,而边缘节点则负责处理其他工作。.

服务器架构:共享、VPS 还是专用?

如今,共享环境可提供惊人的数量 速度, 当 NVMe 和现代网络服务器堆栈可用时,硬限制仍然存在,并且在峰值负载时储备结束。VPS 提供有保证的资源和良好的隔离性,从而提高了可预测性,并能快速升级。由于没有外部工作负载来争夺内核、内存或其他资源,专用服务器将这一切都发挥得淋漓尽致。 IOPS 内核和 BIOS 设置可自由选择。我是这样对项目进行分类的:博客和登陆页面使用共享服务器,中型商店或论坛使用 VPS,大型门户网站和 API 使用专用服务器。对于响应时间而言,这种选择往往比对单个服务的小调整步骤更具决定性。.

容器、虚拟机还是裸机?

容器加快了部署速度,并在流程层面实现了隔离。通过 cgroups v2 可精确设置 CPU、RAM 和 I/O 预算;; CPU 引脚巨页 DB 容器提高了一致性。在需要内核控制或不同操作系统版本时,虚拟机是理想选择。裸机在以下情况下显示出其优势 NUMA-我经常在虚拟机/裸机上运行关键数据库,并以容器化方式扩展应用层。我经常在虚拟机/裸机上运行关键数据库,并对应用层进行容器化扩展。滚动更新、就绪探针和清洁排空使 p95 保持稳定,即使在发布期间也是如此。.

用数字说明性能的提升:现代化硬件的优势

从较旧的至强或 SATA 设置切换到现代内核、DDR5 和 NVMe,p95 响应时间通常会缩短两位数,因为 延迟 不再因 I/O 限制而失败。更高的内存吞吐量可实现更大的对象和页面缓存,这意味着数据库访问的频率更低。PCIe NVMe 可减少缓存未命中时的冷启动暂停,并加快后台索引的建立。此外,快速单线程缩短了动态页面的渲染时间,减轻了 Peak 下 PHP 工作者的负担。下表显示了我喜欢在 2025 年使用的三种典型设置,其中明确列出了实际工作负载的目标值,以及 扩展阶段.

简介 CPU 内存 存储 网络 典型的 p95 响应
进入 2025 年 8 个内核,高基准时钟 32 GB DDR5,可选 ECC 2× NVMe(RAID1),PCIe 4.0 1 Gbit/s 100 RPS 时小于 400 毫秒
Pro 2025 12-16 个内核,强大的单核 64-128GB DDR5 ECC 4× NVMe(RAID10),PCIe 4.0/5.0 1-10 千兆位/秒 300 RPS 时小于 250 毫秒
企业 2025 24+ 内核,NUMA 优化 128-256GB DDR5 ECC 6-8× NVMe(RAID10),PCIe 5.0 10 Gbit/s 600 RPS 时小于 180 毫秒

PHP-FPM 和工作程序尺寸

如果 PHP Worker 的缩放比例不正确,再好的 CPU 也没用。我计算过 pm.max_children 根据每个工作者的内存占用和可用 RAM 倒退,并设置 pm = 动态/无需求 取决于交通模式。. pm.max_requests 防止碎片和内存泄漏、, 请求终止超时 可防止请求被挂起。......。 慢日志 显示插件和数据库查询的瓶颈,以便只在真正需要的地方增加硬件。对于短暂的 HTML 请求,微缓存(0.5-3 秒)通常能像涡轮增压一样发挥作用,而不会增加停滞风险。.

缓存、网络服务器堆栈和数据库

硬件提供了基础,但堆栈决定了多少 绩效 这才是真正重要的。作为对象缓存的 Redis、用于 PHP 的 OPcache 以及采用 HTTP/2 或 HTTP/3 的高效网络服务器堆栈可减少每次请求的后台时间。MariaDB 10.6+ 采用简洁的缓冲区管理和合适的索引,可防止表扫描并平滑峰值。良好的 TLS 参数、会话重用和 keep-alive 可以降低连接成本,缩短握手时间。总之,这种扩展效果非常明显,因为更少的 IO 而 CPU 可以执行更多的实际应用工作。.

复制、高可用性和备份

可用性是性能的一部分,因为故障会无限缩短响应时间。我在规划数据库时 主件/复制品, 在适当情况下激活半同步,并将读取负载分流到副本。. 时间点恢复 通过 binlog 并辅以定期快照;还原测试是强制性的,以确保 RPO/RTO 不只是幻灯片值。在应用程序层面,我使用健康检查、中断预算和干净的故障转移,这样部署和维护就不会产生延迟跳变。日志和指标集中存储,与应用程序存储分开,以避免 I/O 竞争。.

实用范例:典型项目规模和硬件选择

一个每天页面浏览量达 20 万次的内容门户网站,使用 12-16 内核, 由于缓存非常有效,HTML 的渲染速度也非常快,因此需要使用 64-128 GB 内存和 RAID10-NVMe。具有密集搜索和过滤功能的 WooCommerce 商店强调快速单线程、大型 Redis 缓存和 10G 媒体连接。API 优先的应用程序则需要更多内核和更高的 IOPS 密度,因为并行请求持续时间短,易于存储。对于拥有众多编辑器的多站点,内存的作用更大,这样缓存就不会冷却,编辑器也能保持快速响应。因此,硬件的最终用途是 效果 而不是作为未使用的预算闲置。.

负载测试、SLO 和容量规划

我将负载测试与明确的 SLOsp95/p99 响应、错误率和 TTFB。测试采用真实的请求组合、预热阶段和恒定运行,以便对缓存和 JIT 效应进行真实建模。斜坡和压力测试显示了需要施加背压的地方。我从曲线中推导出工人数量、数据库缓冲区、队列争用和 CDN TTL。结果是 可扩展的上限, 在此基础上,我设想进行横向或纵向升级--有计划地升级,而不是慌乱地升级。.

监测和确定规模:尽早发现瓶颈问题

我测量 CPU-响应时间的 p95 和 p99 显示了峰值的表现,而 TTFB 则显示了渲染和网络的趋势。持续流量的合成检查会暴露出仅在日志中无法察觉的调度或缓存影响。如果设置了合适的警报,就能及时进行扩展,避免忙乱的紧急升级。这样可以保持容量和 质量 并可规划预算。.

安全、DDoS 和隔离

安全的堆栈速度更快,因为它需要的故障和应急措施更少。. TLS 1.3 使用精简密码套件可缩短握手时间、, OCSP 订书机 减少依赖性。速率限制、WAF 规则和干净的报头策略可在占用 CPU 和 I/O 之前阻止滥用。在网络层面,具有清洁阈值的 DDoS 配置文件可提供帮助,而容器中的隔离命名空间和限制性功能则可限制潜在的破坏。安全扫描在主 CPU 窗口之外运行,因此不会产生 p95 峰值。.

能源效率和每次查询的成本

CPU 每瓦特可提供更多工作,从而降低每千次请求的电费。功率曲线、C 状态和合适的冷却气流可保持时钟稳定,不会浪费能源。NVMe 每 IOPS 的能耗低于 SATA SSD,因为延迟更短,队列更小。我对 RAM 的数量进行了调整,使缓存有效,但没有多余的消耗。底线是每个请求的欧元量减少,而 绩效 明显增加。.

成本控制和合理规模

我认为 每千次申请的成本 而不是根据服务器大小统一收费。这就揭示了升级是否比插件优化便宜,反之亦然。对于核心工作负载,我避免使用突发模式,因为信用额度会使 p95 不可预测。基本负载的预留资源加上峰值的弹性层,比持续的超额配置成本更低。事实证明,CPU 的利用率目标为 50-70%,RAM 的利用率目标为 70-80%,这是在效率和缓冲区之间的良好折衷。.

摘要

对于恒定 绩效 在 2025 年,我依赖具有强大单线程和 8-16 个内核的 CPU,这样 PHP Worker、cronjobs 和数据库才能顺利运行。32-128 GB 的 DDR5 内存(视项目而定)可为缓存提供带宽,并明显减少 I/O。通过 PCIe 4.0/5.0 和 RAID1 或 RAID10 的 NVMe 可缩短延迟、确保数据安全并平滑负载变化。采用 1-10 Gbit/s、良好对等互联和最新 TLS 协议栈的干净网络可防止传输制动。如果还能检查内核和操作系统设置,对 PHP-FPM 进行实际维度调整,有意识地使用 CDN 边缘,并考虑复制(包括备份),就能建立起保持 p99 安静的储备。因此,我优先考虑:测量瓶颈,选择最小的有效升级,监控效果--然后才启动下一阶段。这样才能最大限度地利用现有资源 托管服务-环境。.

当前文章