跳到主内容
版本: 1.x

服务器性能

服务器性能直接影响您的 WCPOS 应用程序的速度和响应能力。本指南帮助您使用内置的指标和故障排除技术监视、诊断和优化服务器性能。

了解服务器指标

WCPOS 在每次数据获取操作(产品、订单、客户等)时自动收集服务器性能指标。您可以在日志屏幕中查看这些指标。

典型的服务器指标

{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}

细分:

  • total - 处理的记录数量(24,692 产品 ID)
  • execution_time - 完成操作所需的时间(76.64 毫秒)
  • server_load - 1、5 和 15 分钟的服务器负载平均值

服务器负载解释

服务器负载表示在不同时间段内的平均系统负载:

  • 第一个值 - 1 分钟平均值(15.21)
  • 第二个值 - 5 分钟平均值(16.16)
  • 第三个值 - 15 分钟平均值(16.77)

负载解读

服务器负载值可能会产生误导,应该谨慎解读:

负载值可能会误导

服务器负载平均值并不总是与性能直接相关。负载值高(15+)的服务器如果资源充足且优化良好,仍然可以非常响应。专注于执行时间,而不仅仅是负载值。

一般指导原则:

  • 负载与 CPU 核心的关系 - 在 8 核心服务器上,8.0 的负载意味着充分利用
  • 持续与暂时 - 短暂的峰值是正常的,持续的高负载可能表明问题
  • 性能更重要 - 响应迅速的高负载服务器优于低负载的慢服务器

注意事项:

  • 执行时间随着时间的推移而增加
  • 负载持续增长而没有解释
  • 高负载与慢执行时间同时出现

性能基准

执行时间指导

操作良好可接受较差关键
产品获取< 100ms100-500ms500ms-2s> 2s
订单创建< 200ms200-800ms800ms-3s> 3s

记录计数考虑

执行时间应与记录计数合理缩放:

// Good scaling examples
{"total": "100", "execution_time": "15.2 ms"} // 0.15ms per record
{"total": "1000", "execution_time": "89.4 ms"} // 0.09ms per record
{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record

// Poor scaling examples
{"total": "100", "execution_time": "500.0 ms"} // 5.0ms per record
{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record

诊断性能问题

第 1 步:监控日志

  1. 从导航抽屉中打开 日志
  2. 执行慢操作(同步产品、创建订单等)
  3. 查找相应的日志条目
  4. 展开上下文以查看指标

第 2 步:分析指标

高执行时间 + 高服务器负载 = 服务器资源问题

{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}

解决方案:增加服务器资源或优化服务器配置

高执行时间 + 正常服务器负载 = 插件/数据库问题

{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}

解决方案:识别慢插件或优化数据库查询

正常执行时间 + 高服务器负载 = 一般服务器超负荷

{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}

解决方案:减少其他进程的服务器负载或升级资源

常见性能问题

1. 服务器资源不足

症状:

  • 一直高的服务器负载 (> 4.0 在大多数服务器上)
  • 所有操作的长执行时间
  • 经常超时

解决方案:

  • 升级 CPU - 更多核心更好地处理并发请求
  • 增加 RAM - 减少磁盘 I/O 并改善缓存
  • 使用 SSD 存储 - 显著改善数据库性能
  • 优化 PHP 设置 - 增加 memory_limit、max_execution_time

2. 较慢的数据库查询

症状:

  • 高执行时间与正常服务器负载
  • 特别慢的产品/订单获取
  • 日志中的数据库相关错误代码

解决方案:

  • 启用 WooCommerce HPOS - 最大的数据库性能提升
  • 使用对象缓存 - 如果您的主机支持,使用 Redis 或 Memcached
  • 保持 WordPress 更新 - 核心更新通常包括数据库优化
  • 限制帖子修订 - 在 wp-config.php 中添加 define('WP_POST_REVISIONS', 3);

3. 插件干扰

症状:

  • 插件更新后突然的性能下降
  • 某些操作明显比其他操作慢
  • 高执行时间与正常服务器负载

故障排除:

  1. 在暂存环境中测试 - 禁用除了 WooCommerce 和 WCPOS 以外的所有插件
  2. 测量基线 - 记录最少插件的执行时间
  3. 逐步启用 - 一次添加一个插件以确定问题所在
  4. 检查插件钩子 - 查找钩入 WooCommerce 动作的插件

常见问题插件:

  • 在产品操作期间使用重型 SEO 插件
  • 复杂的库存管理系统
  • 实时分析/跟踪插件
  • 编码不良的自定义插件

4. WordPress/WooCommerce 配置

症状:

  • 性能不一致
  • 日志中的内存相关错误
  • 后台管理慢

优化检查表:

  • PHP 版本 - 使用 PHP 8.0 及以上以获得更好的性能
  • WooCommerce HPOS - 启用高性能订单存储(见下文)
  • WordPress 缓存 - 如果可用,启用对象缓存
  • WooCommerce 设置 - 优化产品图像大小

WooCommerce 高性能订单存储 (HPOS)

最大的性能提升

HPOS 是您可以为 WooCommerce 做出的最重要的性能改进之一。 它将订单存储在自定义数据库表中,而不是 WordPress 帖子表中,显著提高了订单数量较多的商店的性能。

好处:

  • 更快的订单查询 - 订单存储在优化的数据库结构中
  • 减少数据库负载 - 将订单从帖子/页面中分隔
  • 更好的可扩展性 - 高效处理大量订单
  • 改善后台性能 - 更快的订单管理屏幕

如何启用:

  1. 转到 WooCommerce > 设置 > 高级 > 功能
  2. 启用“高性能订单存储”
  3. 按照迁移过程进行操作

了解更多:

服务器监控最佳实践

1. 定期性能检查

  • 每周审查 - 检查日志中的性能趋势
  • 基线测量 - 记录正常的执行时间
  • 高峰时段监控 - 在高流量期间进行监控

2. 设置性能警报

监控以下警告信号:

  • 一直执行时间 > 1000ms
  • 服务器负载 > 5.0 持续一段时间
  • 日志中频繁出现超时错误

3. 容量规划

跟踪增长趋势:

  • 记录计数增长 - 产品、订单、客户
  • 性能下降 - 执行时间如何缩放
  • 资源利用 - CPU、内存、磁盘使用

服务器优化策略

1. WordPress/WooCommerce 最佳实践

启用 HPOS:

  • 对 WooCommerce 影响最大的性能改进
  • 有关详细信息,请参见上面的 HPOS 部分

PHP 配置(咨询您的主机):

memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000

WordPress 配置:

// In wp-config.php - limit post revisions
define('WP_POST_REVISIONS', 3);

// Enable WordPress debug logging if needed
define('WP_DEBUG_LOG', true);

2. 主机级优化

对象缓存:

  • 询问您的主机关于 Redis 或 Memcached 的可用性
  • 许多托管的 WordPress 主机自动提供此功能

PHP 版本:

  • 使用 PHP 8.0 以上以获得显著的性能提升
  • 大多数主机允许轻松切换 PHP 版本

服务器资源:

  • 确保足够的 RAM(最低 1GB,最好 2GB 以上)
  • SSD 存储提供比传统驱动器更好的数据库性能

何时寻求帮助

如果:

  • 服务器负载持续 > 8.0 尽管进行了优化
  • 执行时间 > 5000ms 对于简单操作
  • 日志中频繁出现 内存错误
  • 数据库查询持续 > 2 秒

提供给他们:

  • 从您的日志获取的服务器指标
  • 活动插件列表
  • 服务器规格(CPU、RAM、存储类型)
  • WordPress 和 WooCommerce 版本