类型 | 配置 | 说明 |
---|---|---|
html压缩 | 减少流量消耗,加快页面加载速度(后台页面不压缩)。主机cpu性能低的建议关闭 | |
DNS预取 |
|
DNS Prefetch功能说明:提前解析之后可能会用到的域名,使解析结果缓存到系统缓存中,缩短DNS解析时间,来提高网站的访问速度。详情 |
文章列表最大分页数量 | 控制列表页分页数量,防止分页过多导致页面加载慢,超出分页的链接打开会输出404,但是里面的文章不受影响。受控制的列表页:首页、分类页、标签页、日期页、用户页 | |
select *替换为全字段 | 默认情况下zblog和其他插件调用都是使用的*查询数据的所有字段数据,这样数据库在查询数据前会进行一次字段查询,如果在查询前就将*替换为所有字段,这样就避免的mysql再去查询字段信息所产生的性能消耗 |
如果文章超过了5万,以下每个操作可能都会执行很久,建议先修改配置文件php-fpm.conf中的request_terminate_timeout为300,防止php执行超时(默认一般是100秒)。如果使用cdn,建议直连站点来进行一下配置,否则cdn会有1分钟左右的限制。
用命令:ps aux | grep php-fpm 可查看php-fpm.conf文件位置,修改后需要命令 service php-fpm restart 重启php-fpm进程
类型 | 配置 | 建议 | 说明 | SQL |
---|---|---|---|---|
表引擎 | MyISAM | MyISAM引擎比Innodb查询速度更快,但是如果某些插件或者主题需要行锁,那么请保持InnoDB引擎 |
ALTER TABLE zbp_post ENGINE = MyISAM ALTER TABLE zbp_post ENGINE = InnoDB |
|
zblog默认索引 | 开启 | 对首页最新文章、分类页有加速查询作用 |
CREATE INDEX zbp_log_TPISC ON zbp_post(log_Type,log_PostTime,log_IsTop,log_Status,log_CateID); |
|
分类文章索引 | 开启 | 对按分类查找文章有加速查询作用 |
CREATE INDEX idx_zbp_post_CateID_Status_Type_PostTime_IsTop ON zbp_post(log_CateID, log_Status, log_Type, log_PostTime, log_IsTop); |
|
搜索页索引 |
|
开启 | 加快文章搜索速度,搜索结果关联度高的文章靠前显示 |
CREATE INDEX idx_zbp_post_Title_Content FULLTEXT ON zbp_post(log_Title) with parser ngram; CREATE INDEX idx_zbp_post_Title_Content FULLTEXT ON zbp_post(log_Title, log_Content) with parser ngram; |
分类页查询优化 | 有二级分类的情况下建议开启 |
CREATE INDEX idx_zbp_post_Type_Status_parent0_PostTime_IsTop ON zbp_post(log_Type, log_Status, log_cate_parent_0_id, log_PostTime, log_IsTop); CREATE INDEX idx_zbp_post_Type_Status_parent1_PostTime_IsTop ON zbp_post(log_Type, log_Status, log_cate_parent_1_id, log_PostTime, log_IsTop); |
||
标签查询优化 | 开启 |
CREATE INDEX idx_zbp_tag_Name_Type ON zbp_tag(tag_Name, tag_Type) |
||
发布时间索引 | 开启 |
如果侧栏添加了“文章归档”模块,每次发布文章会重建该模块,开启后可提升文章发布速度。对文章页有“上一篇、下一篇”链接的情况下打开速度会有提升 |
CREATE INDEX idx_zbp_post_PostTime ON zbp_post(log_PostTime); |
|
浏览量索引 | 开启 |
有的插件或主题会获取最高浏览器的文章,开启后获取文章速度速度有提升 |
CREATE INDEX idx_zbp_post_ViewNums_status_CateID ON zbp_post(log_ViewNums, log_Status, log_CateID); |
|
用户文章量索引 | 开启 |
注册用户或者修改用户信息时会加载速度 |
CREATE INDEX idx_zbp_comment_AuthorID_IsChecking ON zbp_comment(comm_AuthorID, comm_IsChecking); CREATE INDEX idx_zbp_upload_AuthorID ON zbp_upload(ul_AuthorID); CREATE INDEX idx_zbp_post_AuthorID_Type_Status_IsTop ON zbp_post(log_AuthorID, log_Type, log_Status, log_IsTop); |
|
标题索引 | 页面、文章页伪静态规则使用了{%alias%}则需要开启 |
索引长度为50 |
CREATE INDEX idx_zbp_post_title ON zbp_post (log_Title); |
|
别名索引 | 页面、文章页伪静态规则使用了{%alias%}则需要开启 |
CREATE INDEX idx_zbp_post_alias ON zbp_post (log_Alias); |
||
文章访问量异步增加 | 开启 |
每次打开文章页面都会增加文章访问数量,有时会很慢。开启该功能后会将每次访问记录写入到临时数据表,然后按需同步 |
||
表修复 | 网站变慢时操作 |
不明原因(和本插件无关)导致索引失效,虽然开启了优化,但是速度还是很慢,可尝试修复表 |
||
更新优化 | 更新前如看到更新记录说明需要“操作更新优化”,那么再操作 |
新版本可能会有更优优化方案,点击更新后可删除旧方案增加新方案,不更新也不会影响使用 |
对打开速度慢的页面进行统计,以便针对性优化。
类型 | 配置 | 说明 |
---|---|---|
统计状态 | 开启后,会自动根据下面配置进行SQL和页面Url的记录。时间如果配置为空则不做记录 | |
SQL查询时间 | ms | 当某个SQL查询时间超过了这个阈值,则该条SQL会被记录 |
PHP执行时间 | ms | 当PHP执行时间超过了这个阈值,则该Url被记录。(该时间不包含SQL执行耗时) |
前台页面加载时间 | ms | 用户打开网站页面后,页面完全加载所用的时间(页面停止转圈圈的时间),有时慢不一定是网站问题,可能是用户的网络慢,建议非国内主机关闭此功能 |
Url排除 | 一行一个内容,该页面的Url包含这些字符串(无需输入完整的Url),则所有慢情况不会被记录 |
慢记录自查记录类型为PHP:可能是某些插件或者主题在执行一些耗时的代码,比如内容处理、网络请求、代码延迟执行等,或服务器cpu性能差也会产生此记录,可以关闭其他插件或切换主题排查
记录类型为SQL:可能是因为该sql无法被优化或优化未覆盖到,可点击“复制信息”,然后将信息发给可风网分析
记录类型为页面:因为前台页面某些资源加载慢,或者用户的网络慢,如果自己在网络正常的情况下打开后也有慢记录,可以在页面按下F12,在开发中工具切换到“网络”(或Network)选项卡,然后刷新页面,观察是哪些资源加载慢。如果服务器带宽本来就很低,页面中又有大量的资源需要加载,那么慢就是很正常的,建议关闭“前台页面加载时间”记录功能
理性看待问题,并不是所有的慢记录都是不正常的