You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Moodle 3.4性能异常求助:登录缓慢、部分页面504/undefined弹窗

针对Moodle 3.4性能骤降及特定页面报错的排查方案

根据你描述的情况——Moodle运行两个月后突然局部性能暴跌,首页正常但登录慢、插件/调试页504超时、课程页弹出"undefined"对话框,而同服务器的WordPress完全没问题,主机也确认了服务器性能无异常——问题大概率出在Moodle自身的缓存、数据库、插件或配置上,我给你整理了按优先级排序的排查步骤:

1. 先清缓存!这是最常见的触发点

Moodle对缓存依赖极强,哪怕只是缓存文件损坏或者配置异常,都会导致动态页面(比如插件列表、课程页)直接拉胯:

  • 要是还能进后台,直接去「站点管理」>「服务器」>「缓存」,先确认默认缓存的存储方式——之前如果配了Redis/Memcached,说不定是连接断了,暂时切回文件缓存试试;然后点「清除所有缓存」强制刷新
  • 要是后台都进不去,直接手动删除moodledata/cache文件夹里的所有内容,然后重启PHP-FPM或者你的Web服务器进程(比如Nginx/Apache)

2. 查数据库的慢查询和表状态

服务器CPU内存正常不代表数据库没问题,特定页面的超时很可能是触发了慢查询:

  • 登录服务器查看数据库的慢查询日志(MySQL的话就是slow_query_log),过滤Moodle相关的SQL语句,找找有没有执行时间特别长的语句(比如拉取插件列表、查询课程数据的)
  • 检查下Moodle核心表的状态,比如mdl_plugin、mdl_course,这些表用久了容易产生碎片,执行OPTIMIZE TABLE mdl_plugin;和OPTIMIZE TABLE mdl_course;优化下
  • 顺便看看数据库连接数够不够,执行show variables like 'max_connections';和show processlist;,要是连接数快到上限了,就调大max_connections的值

3. 排查第三方插件冲突(重点!)

你是部分页面出问题,这几乎肯定和插件有关——要么是最近更新了某个插件出bug,要么是插件之间存在冲突:

  • 要是还能进插件概览页,先看看最近有没有插件自动更新,逐个禁用最近更新的插件测试,看问题会不会消失
  • 要是插件页直接504进不去,就直接改数据库禁用插件:执行UPDATE mdl_plugins SET disabled = 1 WHERE name LIKE '%你怀疑的插件名%';,或者先批量禁用所有非核心插件,再一个个启用回来排查
  • 课程页弹"undefined"大概率是前端JS崩溃了,开启Moodle调试模式看具体错误:修改config.php,加上$CFG->debug = E_ALL; $CFG->debugdisplay = true;,刷新课程页就能看到具体的JS报错信息,顺着找对应的插件就行

4. 检查PHP和Web服务器的超时配置

有时候不是资源不够,是超时时间设短了:

  • 查看php.ini里的max_execution_time(至少设60)和memory_limit(至少256M),别被误改小了
  • 检查PHP-FPM的状态,执行systemctl status php-fpm(对应你的PHP服务名),看看有没有进程挂死或者崩溃
  • 还要看Web服务器的超时设置,比如Nginx的proxy_read_timeout、Apache的Timeout,适当调大一点试试,毕竟Moodle的插件页这类复杂页面加载时间会长一些

5. 最后检查moodledata的权限

权限混乱也会导致缓存写不了或者文件读取缓慢:

  • 确认moodledata及其子目录的所有者是Web服务器用户(比如www-data),权限设成770就好,符合Moodle的要求
  • 看看moodledata/temp里有没有一堆没清理的临时文件,手动删除这些垃圾文件,说不定能缓解性能问题

内容的提问来源于stack exchange,提问作者Davideg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:07:11