【问题标题】:Xenforo on Azure App Service (Linux) performance issueXenforo 上的 Azure 应用服务 (Linux) 性能问题
【发布时间】:2020-03-06 11:19:27
【问题描述】:

我正在尝试在 Linux Azure Web 应用程序(应用程序服务)上安装 Xenforo(论坛软件),该应用程序已通过以下方式设置:

  1. PHP 7.2
  2. 高级 P1V2 计划

它还连接到带有 Basic 2 vCore (5 GB) 的 Azure MySQL 数据库(5.7 版)。

  • Xenforo 版本:2.1.4

问题

完成安装大约需要 2 个小时,这太长了,因为它应该需要大约 2-3 分钟。也发生在插件的安装上。特别是Importing... Master data (Phrases: xx.x%) 阶段需要很长时间。

详情

  1. 没有超出 CPU 或内存使用量的警告,诊断工具看起来一切正常,并且 Xenforo 的需求测试已成功通过。

  2. 我尝试将所有计划扩展到最高级别,但没有任何改变(MySQL 和应用服务)

  3. 我也尝试过使用 MySQL 8.0。

  4. 到网站的连接非常快,只有 Xenforo 的安装和插件的安装速度很慢,所以我想这可能是文件写入问题或某些配置(InnoDB?)或与兼容性有关的问题。

Gen5 硬件规范 (Microsoft docs)

  • Intel E5-2673 v4 (Broadwell) 2.3-GHz 和 Intel SP-8160 (Skylake)* 处理器
  • 最多可配置 80 个 vCore(1 个 vCore = 1 个超线程)
  • 每个 vCore(内存)5.1 GB
  • 配置高达 408 GB(内存)

【问题讨论】:

  • 附加信息请求。 RAM 大小、# 核心、MySQL 主机服务器上的任何 SSD 或 NVME 设备?在 pastebin.com 上发布并分享链接。从您的 SSH 登录根目录中,文本结果为:B) SHOW GLOBAL STATUS;至少 24 小时正常运行时间后 C) 显示全局变量; D) 显示完整的处理程序;为服务器工作负载调优分析提供建议。
  • @WilsonHauck pastebin.com/926cZTrM
  • 当前 Azure W64 托管计划的限制? RAM 大小、# 核心、MySQL 主机服务器上的任何 SSD 或 NVME 设备?分析中。
  • @WilsonHauck 这是docs.microsoft.com/en-us/azure/mysql/concepts-limits 的限制,我找不到有关您所询问的硬件规格的信息,我用文档中的内容编辑了我的帖子。但是我也尝试了最大的 MySQL 计划,没有任何改变。
  • 嗨,谢谢,根据SELECT VERSION(),版本是5.7.27-log;定价层是带有 2 个 vCore 的 Basic。

标签: performance azure web-applications forum xenforo


【解决方案1】:

每秒速率 = RPS

有关 Azure 门户、设置、服务器参数的建议

thread_cache_size=64  # from 9 to reduce threads_created - an expensive operation
read_rnd_buffer_size=192K  # from 512K to reduce handler_read_rnd_next RPS of 57
innodb_lru_scan_depth=100  # from 1024 to avoid 90% of CPU cycles used for function every second
tmp_table_size=32M  # from 16M to expand capacity in RAM
max_heap_table_size=32M  # from 16M to reduce created_tmp_disk_tables of 49 RPhr
innodb_open_files=-1  # to autosize based on table_open_cache at next restart of instance

前 5 项更改是动态的,无需重启实例即可生效。

让我们知道这几个变化对您的查询响应时间的影响是好是坏。如需更多帮助,请查看我们的配置文件、网络配置文件并下载我们的免费实用程序脚本以获得性能调整方面的帮助。

【讨论】:

  • 感谢您的帮助,除了innodb_lru_scan_depth,我在 Azure MySQL 中找不到任何这些参数。我可以通过 MySQL 在全局变量中看到其他变量,但除非它们在 Azure 门户的“服务器参数”部分可用,否则我无法对其进行编辑。
  • 降低 lru 扫描深度会有所帮助。其余的可能必须通过 Azure 支持通过支持票证请求。
  • 安装过程中的速度和以前一样,还是谢谢你的帮助。
  • @ALFA 你有 XenForo 的公开票吗?票号是多少,我可以关注他们的回复。 Azure 会协助处理请求的 my.ini 更改吗? Azure 可能会启用您可以在其系统上使用更高层进行的更多更改,请与 Azure 核实。
猜你喜欢
  • 2020-12-06
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
  • 2018-06-14
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
相关资源
最近更新 更多