performance - Azure 应用服务 (Linux) 上的 Xenforo 性能问题

标签 performance azure web-applications forum xenforo

我正在尝试在已设置的 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 分钟。插件安装时也会发生这种情况。特别是导入...主数据(短语:xx.x%)阶段需要很长时间。

详细信息

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

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

  3. 我也尝试过 MySQL 8.0。

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

Gen5 硬件规范 ( Microsoft docs )

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

最佳答案

每秒速率 = 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 项更改是动态的,无需重新启动实例即可生效。

让我们知道这几个更改如何影响您的查询响应时间,无论是好还是坏。如需其他帮助,请查看我们的个人资料、网络个人资料并下载我们的免费实用程序脚本以获取性能调整方面的帮助。

关于performance - Azure 应用服务 (Linux) 上的 Xenforo 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60563041/

相关文章:

java - 不同 JVM 中的 Java Web 应用程序中的函数调用

java - 为什么 httpServletRequest.getLocalPort 总是返回与 getServerPort 相同的值?

java - 如何在 log4j 文件名中插入当前 webapp 的文件夹名称

java - @Autowired、@Resource 和使用属性注入(inject)的 Spring 性能

azure - 运行管道时,如何知道管道正在使用 Microsoft 托管代理?

azure - 是否可以使用自定义受众访问 microsoft graph?

azure - 从 Android 设备连接到本地主机并与之同步无法正常工作

sql - WHERE 与 HAVING 性能与 GROUP BY

c# - 使用查询表达式时缓存?

sql - 在 'select then update'的情况下如何避免再次获取数据