网站访问慢与性能优化

分类:常见问题 · 更新于 2026-11-05 · 约 1084 字

从前端耗时、服务器负载、磁盘与日志、缓存到移动端跳转,逐层定位并优化访问速度。

一、先分清慢在哪一段

  • 只有首屏慢、图片出来很晚:偏前端与静态资源问题;
  • 每个页面都慢:偏服务器、数据库或磁盘问题;
  • 只有后台慢、前台正常:多为后台查询或日志表过大。

用浏览器开发者工具的 Network 看各请求耗时,或直接测总响应时间:

curl -o /dev/null -s -w '耗时 %{time_total}s\n' http://你的域名
top            # 看 CPU 与内存占用,确认是否 PHP-FPM、MySQL 吃满

二、磁盘与日志清理

日志长期不清理会吃掉大量空间,磁盘将满时读写变慢,表现为整站卡顿。宝塔面板的站点日志在 /www/wwwlogs/,访问量大的站点建议每周清理一次,访问量小的每月一次:

du -sh /www/wwwlogs
ls -lh /www/wwwlogs | head

同时清掉过期附件(见「图片不显示、上传失败与存储问题」一篇)。数据库层面,长期运行会积累日志与碎片,可用 OPTIMIZE TABLE 回收空间、整理碎片;执行前务必先做一次数据库备份。

三、开启缓存

层面做法效果
PHP开启 OPcache省去每次请求重新编译 PHP 的开销
静态资源给 js、css、图片设置较长的 expires减少重复下载
页面合理配置页面缓存降低数据库压力

开启 gzip 压缩文本类响应,能明显减小传输体积:

gzip on;
gzip_min_length 1k;
gzip_types text/css application/javascript application/json image/svg+xml;

四、数据库与索引

数据库表较多时,慢查询往往出在没有索引的字段(如按地区、分类、时间筛选)。对信息列表常用的筛选字段建索引,并清理长期不需要的历史记录,能明显降低查询耗时。改动表结构前先备份,改完观察一段时间再决定是否保留。

五、移动端跳转对首屏的影响

移动端适配有三种常见形态:一是移动端走独立路径,访问电脑端地址时 301 跳到移动端地址;二是同址自适应,按访问终端在同一地址上分别渲染电脑版与手机版模板;三是移动端使用独立二级域名。

从性能看,方案二只在同一次请求里按 UA 切换 template/pc 与 template/wap,比“先跳转再加载”少一次往返,手机用户首屏更快,也更利于收录(同一地址不拆分权重)。若已经使用 301 跳转方式,确认跳转只跳一次、不形成跳转链,也是提速的小改动。

提示:优化要一次只改一处并记录前后耗时,否则很难判断到底是哪一步起了作用。

相关教程

文档对不上实际界面?可在常见问题中查找排查步骤,或按「安装部署」中的环境要求核对版本。