跳转到内容

性能调优 ​

调优之前 ​

先测量,再调优

「感觉慢」不是可以行动的信息。先确定是 CPU、内存、磁盘 IO 还是网络的问题:

sh
top
iostat -x 2 5
free -h

大部分「PVE 性能不好」的实际原因是很基础的东西:虚拟机磁盘在机械盘上、客户机没装 VirtIO 驱动、存储池写满了、多个备份任务同时跑。这些先排除掉,再谈调优。

收益最大的几项(按顺序) ​

  1. 磁盘用 SCSI + VirtIO SCSI single,勾上 IO thread。
  2. 客户机装 VirtIO 驱动。 模拟设备的开销是数量级的差别。
  3. CPU Type 选 host(单机环境没理由不用)。
  4. 存储池别写太满。 ZFS 超过 80% 后写入性能明显下降。
  5. 错开备份时间,避免 IO 打满。

做完这五条,再考虑 CPU 固定(pinning)、NUMA、大页内存这类微调,见下面的分主题文章。

关于缓存 ​

不要为了性能把 Cache 改成 writeback

Writeback 确实更快,但宿主机突然断电时,已经「写入成功」的数据可能还在内存里没落盘,客户机文件系统会损坏。

默认的 No cache 是安全的选择。真要改,先确保有 UPS,并且理解你在拿什么换性能。详细的风险说明和各缓存模式对比见磁盘 IO 调优。

本章文章 ​

文章讲什么
CPU 绑核、NUMA 与大页内存什么硬件和负载用得上,以及各自的代价
磁盘 IO 调优:IO thread、缓存模式与 aiocache/aio/iothread 参数详解,writeback/unsafe 的掉电风险
网络性能:multiqueue 与 vhost-netmultiqueue 什么时候有用、什么时候只是增加负载
内存:ballooning、KSM 与 ZFS ARC三种内存机制怎么分配、怎么互相打架
基准测试方法:fio 与 iperf3改动前后怎么量化对比,fio 写测试的安全边界

继续浏览 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。