跳转至主要内容

程序速度优化,网站速度优化,MYSQL速度优化,SQL SERVER速度优化

关于caikuaitoutiao的速度优化

admin
最后编辑于 2024 年 8 月 27 日

优化前

负载高 MYSQL卡顿。网站卡顿

网站执行时间18秒 非常慢。执行时间一般0.6秒以内,超过0.6秒用户会感觉卡会跑。

优化中

1.数据库优化

select * from sd_model_news left join sd_content on sd_model_news.cid=sd_content.id where islock=1 and classid in(479)  order by rand() limit 10

数据库堵塞非常严重

卡的语句非常多

执行时间一点点优化的越来越快了 从18秒到2.23秒

其他优化

首页优化使用了LAZYLOAD让页面加载更快,不管是新浪 百度 还是微信 图片都是拉到哪里 哪里再显示的。

类目首页(列表页/list/163.html 文件 HOME数字.PHP):

select * from sd_content force index(islock_3) where islock=1 and classid in(225,360,361,362,363,364,365,366,367,533) order by ontop desc,ordnum desc,createdate desc,id desc limit 10;

CLASSID是一个树状的列表

该语句0.5秒的执行时间 一个页面就会有10几个这个语句 导致打开很慢

换成下面的写法执行时间是0.0008秒 快了几千倍

select * from (select * from (select * from sd_content  where islock=1 and classid in(225)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10) t

union select * from ( select * from sd_content  where islock=1 and classid in(360)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(361)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(362)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(363)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(364)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(365)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(366)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(367)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t

union select * from ( select * from sd_content  where islock=1 and classid in(533)  order by ontop desc,ordnum desc,createdate desc,id desc limit 10 ) t)tt  order by ontop desc,ordnum desc,createdate desc,id desc limit 10

#,,,,,,,,,;

PHP代码部分 类似这样的都得改

改成如下

添加类

#union代替in 速度更快 免得网站卡死

function get_sonid_all_union_table($id,$table,$where,$order,$top)

{

$str=”;

$dt=explode(‘,’,$id);

foreach($dt as $key => $val)

{

$str.=’,’.get_cate_info($val,’sonid’,$val);

}

$i=1;

$SQLstr=”;

$dt=explode(‘,’,$str);

foreach($dt as $key => $val)

{

    if ($val==””) continue;

  if($i==1){  

$SQLstr.=”select * from (select * from {$table}  where “.str_replace(“(replaceid)”,$val,$where).”  order by {$order} limit {$top}) t ” ;   }

else{

$SQLstr.=”union select * from (select * from {$table}  where “.str_replace(“(replaceid)”,$val,$where).”  order by {$order} limit {$top}) t ” ;  

}

   $i++;

}

return “(“.$SQLstr.”) tt”;

}

http://www.caikuaitoutiao.com/list/163.html 优化完这个页面直接秒开0.098秒

HOME数字.PHP的其他文件 我也一一改了。

以后复制创建新的栏目就复制现在的代码去改 不要用老的代码。

show页面优化

1.该页面底部的随机改成下面的代码快20多倍 0.2几秒到0.01几秒

{sdcms:rs top=”10″ table=”sd_content” field=”id,title” where=”islock=1 and classid in($classid)” order=”rand ()”}

3. 服务器优化

PHP和MYSQL的配置文件优化 让程序更加的快速执行。

这是优化前的 都是错误的

手机版

手机版执行也慢0.78秒

优化后0.09秒

其他前端建议

执行完加下载完0.41秒。非常快,秒开。建议还可以优化下几个图片还能更快。

http://www.caikuaitoutiao.com/upfile/2023/12/1703160727395.png

http://www.caikuaitoutiao.com/upfile/2023/09/1695806278913.png

图片太大了 1M 建议100KB以内

这个地方是800像素的 放了一个3440像素的图片。建议修改下图片大小。

其他所有类别 这个地方的图片同样的的问题

2.3M

优化后

网站速度执行速度非常快

优化后的数据库CPU才5.3% 优化前是200% 300多%

优化前18秒执行时间

最后首页0.1秒执行完成 禁用缓存下载完0.267秒 秒开了。

分类:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注