这几天除了发版就是在看wp的相关问题,前几天dabenshi 和格子老师 评论说夜间模式的插件有问题。本来想写代码的,但是,又不想写了就直接继续安装插件来解决这个问题。插件安装启用之后发现一个问题,那就是速度又变慢了。
这就让人很疑惑,于是继续开启查询监控器排查问题。同样一通修改之后把插件的自动更新检测全部干掉,但是提升依然有限。没有恢复原来的水平,今天早上尝试把插件禁用了。竟然依然没有改善,于是不得不思考是不是另外插件导致的问题。
这几天除了夜间模式的插件,另外一个安装的插件就是WPOPT ,这个插件的“WPOPT-WordPress高级优化插件”。看其实来国人写的插件,按理说国内的插件针对国内用户的使用习惯的优化还是蛮不错的。
声明:
以下测试仅用于说明该插件对我的博客性能提升没有效果,不代表在其他博客上无效!
以下测试仅用于说明该插件对我的博客性能提升没有效果,不代表在其他博客上无效!
以下测试仅用于说明该插件对我的博客性能提升没有效果,不代表在其他博客上无效!
直接跑到itdog测速网跑了一下:
如果没记错的话,在上次进行优化的时候测速已经多数区域都是0.5s-1s区域,现在反而成了1s-3s居多,这就让人很疑惑了。
关闭wpopt插件重新测试:
这~~感觉反向优化了?当然,也可能是我的插件设置有问题,总之目前看来该插件对我的博客来说没有优化,反而成了负担。
测试视频:
期间禁用组件的时候还报错了,这个可能是系统问题。
另外,优化性能的时候发现另外一个问题,就是亲密度系统存在重复查询以及大量无效查询的情况。于是对待吗进行了进一步优化,针对管理员,也就是姐姐我的评论进行了过滤:通过email和url进行排除,这样可以至少减少1/3的数据查询量。
优化后代码:
function get_author_class ( $comment_author_email,$comment_author_url ) {
$is_add_link_badge = false ;
$adminEmail = 'root@obaby.org.cn' ;
// $author_count = count($wpdb->get_results(
// "SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = '$comment_author_email' "));
if ( $comment_author_email! = 'root@obaby.org.cn' ) {
'author_email' = > $comment_author_email, // Use user_id.
'count' = > true // Return only the count.
$author_count = get_comments ( $args ) ;
if ( email_exists ( $comment_author_email ) && $comment_author_email! = $adminEmail ) echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/用户/已认证/CCFF33?icon=rss" alt="" height="16"> ' ;
$user = get_user_by ( 'email' , $comment_author_email ) ;
// $user_url = $wp_user['user_email'];
$comment_reg_author_url = $user -> user_url ;
if ( strpos ( $comment_reg_author_url, 'h4ck.org.cn' ) == false ) {
$parsedUrl = parse_url ( $comment_reg_author_url ) ;
if ( isset ( $parsedUrl[ 'host' ])) {
$domainName = $parsedUrl[ 'host' ] ;
$comment_author_url_qs = esc_sql ( '%' . $domainName. '%' ) ;
$linkurls = $wpdb -> get_results (
"SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'" ) ;
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16"> ' ;
$is_add_link_badge = true ;
if ( $comment_author_email == $adminEmail ) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/管理员/小妖精/ff91a4?icon=terminal" alt="公主" height="16"> ' ;
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/角色/女王/red?icon=matrix" alt="Queen" height="16"> ' ;
$is_add_link_badge = true ;
$parsedUrl = parse_url ( $comment_author_url ) ;
if ( isset ( $parsedUrl[ 'host' ]) && $is_add_link_badge == false && strpos ( $comment_author_url, 'h4ck.org.cn' ) == false ) {
$domainName = $parsedUrl[ 'host' ] ;
$comment_author_url_qs = esc_sql ( '%' . $domainName. '%' ) ;
$linkurls = $wpdb -> get_results (
"SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'" ) ;
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16"> ' ;
if ( $comment_author_email! = $adminEmail ) {
if ( $author_count > = 1 && $author_count<10 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 1/gray?icon=codebeat" alt="Level 1" height="16">' ; else if ( $author_count > = 10 && $author_count<20 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 2/cyan?icon=codebeat" alt="Level 2" height="16">' ; else if ( $author_count > = 20 && $author_count<50 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 3/green?icon=codebeat" alt="Level 3" height="16">' ; else if ( $author_count > = 50 && $author_count<100 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 4/yellow?icon=codebeat" alt="Level 4" height="16">' ; else if ( $author_count > = 100 && $author_count<200 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 5/orange?icon=codebeat" alt="Level 5" height="16">' ; else if ( $author_count > = 200 && $author_count<500 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 6/red?icon=codebeat" alt="Level 6" height="16">' ; else if ( $author_count > = 500 && $author_count<1000 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 7/pink?icon=codebeat" alt="Level 7" height="16">' ; else if ( $author_count > = 1000 && $author_count<2000 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 8/purple?icon=codebeat" alt="Level 8" height="16">' ; else if ( $author_count > = 2000 )
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 9/purple?icon=codebeat" alt="Level 9" height="16">' ;
//评论VIP标志
function get_author_class($comment_author_email,$comment_author_url) {
global $wpdb;
$is_add_link_badge = false;
$adminEmail = 'root@obaby.org.cn';
// $author_count = count($wpdb->get_results(
// "SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = '$comment_author_email' "));
//
$author_count =0;
if($comment_author_email!= 'root@obaby.org.cn') {
$args = array(
'author_email' => $comment_author_email, // Use user_id.
'count' => true // Return only the count.
);
$author_count = get_comments( $args );
}
// echo $comments_count;
if(email_exists($comment_author_email)&& $comment_author_email!=$adminEmail)echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/用户/已认证/CCFF33?icon=rss" alt="" height="16"> ';
$user = get_user_by('email',$comment_author_email);
if($user!= false) {
// $user_url = $wp_user['user_email'];
//echo $user;i
//
$comment_reg_author_url= $user->user_url;
if(strpos($comment_reg_author_url,'h4ck.org.cn')==false) {
$parsedUrl = parse_url($comment_reg_author_url);
if (isset($parsedUrl['host'])) {
$domainName = $parsedUrl['host'];
$comment_author_url_qs = esc_sql('%'.$domainName.'%');
$linkurls = $wpdb->get_results(
"SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'");
if(count($linkurls)>0) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16"> ';
$is_add_link_badge =true;
}
}
}
}
if($comment_author_email ==$adminEmail) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/管理员/小妖精/ff91a4?icon=terminal" alt="公主" height="16"> ';
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/角色/女王/red?icon=matrix" alt="Queen" height="16"> ';
$is_add_link_badge =true;
}
$parsedUrl = parse_url($comment_author_url);
if (isset($parsedUrl['host'])&&$is_add_link_badge==false &&strpos($comment_author_url,'h4ck.org.cn')==false) {
$domainName = $parsedUrl['host'];
$comment_author_url_qs = esc_sql('%'.$domainName.'%');
$linkurls = $wpdb->get_results(
"SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'");
if(count($linkurls)>0) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16"> ';
}
}
if($comment_author_email!=$adminEmail) {
if($author_count>=1 && $author_count<10)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 1/gray?icon=codebeat" alt="Level 1" height="16">'; else if($author_count>=10 && $author_count<20)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 2/cyan?icon=codebeat" alt="Level 2" height="16">'; else if($author_count>=20 && $author_count<50)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 3/green?icon=codebeat" alt="Level 3" height="16">'; else if($author_count>=50 && $author_count<100)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 4/yellow?icon=codebeat" alt="Level 4" height="16">'; else if($author_count>=100 && $author_count<200)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 5/orange?icon=codebeat" alt="Level 5" height="16">'; else if($author_count>=200 && $author_count<500)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 6/red?icon=codebeat" alt="Level 6" height="16">'; else if($author_count>=500 && $author_count<1000)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 7/pink?icon=codebeat" alt="Level 7" height="16">'; else if($author_count>=1000 && $author_count<2000)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 8/purple?icon=codebeat" alt="Level 8" height="16">'; else if($author_count>=2000)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 9/purple?icon=codebeat" alt="Level 9" height="16">';
}
}
//评论VIP标志
function get_author_class($comment_author_email,$comment_author_url) {
global $wpdb;
$is_add_link_badge = false;
$adminEmail = 'root@obaby.org.cn';
// $author_count = count($wpdb->get_results(
// "SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = '$comment_author_email' "));
//
$author_count =0;
if($comment_author_email!= 'root@obaby.org.cn') {
$args = array(
'author_email' => $comment_author_email, // Use user_id.
'count' => true // Return only the count.
);
$author_count = get_comments( $args );
}
// echo $comments_count;
if(email_exists($comment_author_email)&& $comment_author_email!=$adminEmail)echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/用户/已认证/CCFF33?icon=rss" alt="" height="16"> ';
$user = get_user_by('email',$comment_author_email);
if($user!= false) {
// $user_url = $wp_user['user_email'];
//echo $user;i
//
$comment_reg_author_url= $user->user_url;
if(strpos($comment_reg_author_url,'h4ck.org.cn')==false) {
$parsedUrl = parse_url($comment_reg_author_url);
if (isset($parsedUrl['host'])) {
$domainName = $parsedUrl['host'];
$comment_author_url_qs = esc_sql('%'.$domainName.'%');
$linkurls = $wpdb->get_results(
"SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'");
if(count($linkurls)>0) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16"> ';
$is_add_link_badge =true;
}
}
}
}
if($comment_author_email ==$adminEmail) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/管理员/小妖精/ff91a4?icon=terminal" alt="公主" height="16"> ';
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/角色/女王/red?icon=matrix" alt="Queen" height="16"> ';
$is_add_link_badge =true;
}
$parsedUrl = parse_url($comment_author_url);
if (isset($parsedUrl['host'])&&$is_add_link_badge==false &&strpos($comment_author_url,'h4ck.org.cn')==false) {
$domainName = $parsedUrl['host'];
$comment_author_url_qs = esc_sql('%'.$domainName.'%');
$linkurls = $wpdb->get_results(
"SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'");
if(count($linkurls)>0) {
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16"> ';
}
}
if($comment_author_email!=$adminEmail) {
if($author_count>=1 && $author_count<10)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 1/gray?icon=codebeat" alt="Level 1" height="16">'; else if($author_count>=10 && $author_count<20)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 2/cyan?icon=codebeat" alt="Level 2" height="16">'; else if($author_count>=20 && $author_count<50)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 3/green?icon=codebeat" alt="Level 3" height="16">'; else if($author_count>=50 && $author_count<100)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 4/yellow?icon=codebeat" alt="Level 4" height="16">'; else if($author_count>=100 && $author_count<200)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 5/orange?icon=codebeat" alt="Level 5" height="16">'; else if($author_count>=200 && $author_count<500)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 6/red?icon=codebeat" alt="Level 6" height="16">'; else if($author_count>=500 && $author_count<1000)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 7/pink?icon=codebeat" alt="Level 7" height="16">'; else if($author_count>=1000 && $author_count<2000)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 8/purple?icon=codebeat" alt="Level 8" height="16">'; else if($author_count>=2000)
echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 9/purple?icon=codebeat" alt="Level 9" height="16">';
}
}
wordpress插件太多了,所以在安装各种插件之后可以自己测试下具体的效果,是优化了性能,还是拖垮了性能。
当然,也可能是插件冲突或者其他问题,所以,对别人来说有用的好用的,不见得对自己来说就是好用的。适合自己的才是有用的。
obaby
爱好广泛的火星小妖精,有问题欢迎留言交流啊~(✪ω✪)
爬虫类工具请先点击这个链接查看用法https://oba.by/?p=12240
闺蜜圈APP下载 https://guimiquan.cn
67 comments
现在访问略快一点了
嗯嗯
有效果,效果比前两天要好一些,应该不是我的网络问题
评论多的页面优化效果还是可以的,数据库查询次数降低了很多,并且重写了评论数获取方法,用的wp的api。不再是直查数据库了。
WPOPT这是果核剥壳的插件,我不知道你们有木有听过,但是在我印象里还是挺出名的,这我也用过,好像确实没什么大用,我用着还有bug,感觉必要的插件还是要有的,
我现在无所谓了,只要我自己不感觉慢就行,缓存好,速度尚可就行,我比较在意的还是并发,也想请教下,这方面怎么优化
这,高并发的话就全静态+cdn 吧,这样基本不怎么耗费服务器资源了。cdn 基本就把请求全部处理掉了。
我换了cdn服务商之后发现rss无法被订阅了,到现在也没有想明白是哪里的问题。
现在好了,能拉到数据了貌似。我说感觉你好多天没更新呢~~


哇塞,回复的好快呀,姐姐,不过貌似没有收个邮件通知,感觉可以考虑搞一个,wordpress也可以全静态嘛?听说没有后台渲染不利于seo,然后也考虑过hugo和hexo好像也确实这样,看了好多静态网站一点权重都没有~所以就放弃了,可是目前用wordpress,每天cpu都是爆满的,又很焦虑,毕竟也没啥大收入,升级也不太值得
也给你点建议,这个评论好像延迟不是一般的高,点击发表评论要等20s感觉,可以考虑优化了
邮件发送卡住了可能是,一般是不至于的。嘻嘻。这个倒是没有这么多说慢的。
wp super cache 之类的不是可以把页面全部静态化吗?相当于所有的页面不需要查询数据库了,速度自然就快了,并且服务器负载也可以降低很多。
我这小破站没几个人,全静态意义也不大。
WPOPT这个今天我才知道,安装了下看功能蛮多的,但如你所说好像效果不明显,我一直用的同类软件wpjam效果很明显
我这是负优化了都属于
插件质量是一方面。另一方面,得结合负载来看。没什么流量的网站没必要优化。
优化的时候打开速度,而并非是并发量。
抛开网络问题,打开速度就是cpu、内存、硬盘的压力撒。没必要优化的意思是,只要程序不是写的太烂,还不至于到达解释器和硬件的瓶颈。
工控机性能有限,并且现在阿里云ecs4h8g根本带不动,直接卡死。不优化cdn请求时间都超时。
好像还有个B站的加载有问题
,问题不大,我这边打开挺快的
B站的加载,这个我就没办法啦
哈哈,我就用了两个缓存插件,一个前端一个后端,不知道有用没,反正测速没绿过
但是感觉你的挺快的啊。
这两天换成了4h4g,哈哈,效果很明显
替你测试了下,很绿,很绿
插件我也是,用了supercache和那个后端缓存,延迟加载图片,localfont,用完效果挺好的,速度感觉还行,尤其是前后端缓存,很明显提升。昨天又关了一批插件,插件对页面拖慢影响太大了。关几个打开页面都快了。
之前没太注意插件的影响,主要是靠直观感受不容易发现是不是有问题。
有了监控工具之后发现影响太大了,的确是少用插件才是最好的。
只要不是卡到明显影响体验,我也就没在纠结优化的事情了。(主要还是不会)
其实就是debug~~
我之前用的emlog,现在换到了typecho,我感觉ty应该是比emlog快的,但实际测速下来发现,我的ty加载是比之前emlog慢的,搞不懂,也不想搞懂了,只要不是那种加载时间要很长的就行了
静态博客加载问题主要可能还是引用的外部的css,js,字体之类导致的。可以看下是不是有的资源加载太慢
typecho是动态的吧,css和js有外部的加速,但是我用的是本地的,我查了一下,应该是有个css里面引入了一个谷歌字体的服务,但是我删了之后,清除缓存,速度似乎也没多大区别,干脆不管了
你说的是揽星这个吗?打开很快啊
嗯,是揽星,速度还行,就是感觉不如之前快。但是我发现你的顶部菜单除了集美们以外,其他菜单都提示“遇到了致命错误”,怎么了?
禁用了一个插件 page页面有自己写的代码 忘了改了
现在应该好了
为什么这次我这里打开延迟很慢啊?真是一方空间养一方插件。wp-rocket用了吗?
现在就挺快的了,比之前好太多啦。数据这么大的老站点,现在的速度我觉得很好了。这也说明Wordpress还是非常优秀的,PHP YES。
嗯嗯,目前看来速度确实好了很多。
优化这个事情确实要提升一大截的话还是挺难的。
插件这个东西能尽量少用的少用。主题能尽量精简就精简。
优化对我来说貌似一点用也 没有。
嗯嗯 正在进一步删除插件
感觉更慢了呢,首页也要慢2秒左右;
这个URLhttps://h4ck.org.cn/2024/03/15874更慢,至少要9秒,有个emoji 的js拖了很多后腿;
PS. 重庆 成都 江苏 电信1000M 专线光纤测试
emoji 哪有 js?我咋没看到?

用了一些优化插件,的确可以提一点速度。但是,不能完全依赖于插件。
嗯嗯
https://h4ck.org.cn/wp-content/plugins/enlighter/cache/enlighterjs.min.js?ver=kOq1RWGWkJcC4N0
https://s1.hdslb.com/bfs/static/player/main/widgets/npd.419.f80e219b.js
https://h4ck.org.cn/wp-includes/js/wp-emoji-release.min.js?ver=6.4.3
还有几个加载完了就消失了
你js加载得太多了吧,100+,阔怕
https://s1.hdslb.com/bfs/static/player/main/widgets/npd.419.f80e219b.js 你这 js 哪里来的?
没加载这个东西啊
应该是你播放器的吧,还有一堆这样的js
播放器是 b 站的,只能引入 b 站的播放器。
有的 js 是播放器引入的,这个没神马办法啊,用的 b 站的播放器,就得接受 b 站的 js。
现在优化后的速度,明显比之前快
嗯嗯
加载运行插件代码也需要时间的,感觉就是反向优化了。
嗯,理论上说加入的代码越多执行效率越慢。
不过有的插件是为了屏蔽 js 谷歌字体,或者替换 gravatar 源之类的,这种还是有效果的。可以屏蔽掉无法加载的资源
其实一些缓存插件不好,会导致php出现一些问题,还有不会实时更新的问题。使用服务器端的对象缓存就很好,读取过一次就进行缓存,其他人访问时直接读取缓存下来的文件。如果有更新,还会自动覆盖缓存。
最重要的是,不要使用一些国外的CDN链接,在中国加载很慢,以为白嫖其实负优化,那点几KB的文件还不如放本地。能浪费多少流量啊
嗯嗯,现在性能优化插件就剩下一个 object cache 了,别的都去掉了,的确会引入一些奇奇怪怪的问题。
cdn 目前用的国内的,之所以用 cdn 是因为现在网站放家里了,需要一个工具把家里的网站映射出来哈哈哈。
说的很对~~
懒得费太多劲。一个cache插件就够了。
我猜头图不是你
懒得费太多劲。一个cache插件就够了。
我猜头图不是你。
第二次提交分割线——-
为什么说我重复提交,我才一次。
不好意思。你删其中一条吧。我是真的只提交一次。他说我重复的,我以为不成功,才第二次的。
有的是我,有的不是我。至于是不是,自己猜啊
我靠 这个我一测全是橘黄色
..
不过打开速度感觉也还 ok 啊
我发现那个快速测试是多并发的,我的小机顶不住
我的也扛不住,哈哈哈。缓慢测速。快速测速我的都是红的,
装那么多插件干嘛,就简简单单一两个就好了,用个好点的服务器,嘿嘿
为了满足功能,又不想写代码就直接找插件了
wordpress玩的就是插件。
主机性能太差 多了跑不动了