发布日期: 2022-01-06 | 来源: 智软设计工作室
首先说明这里讲的网页速度是排除掉静态资源加载的,这里的速度是用户访问域名然后程序响应回来所花的时间,主要影响因素有以下几点:
1、服务器配置
配置高的服务器响应速度差别还是很明显的,但是一般情况下咱们的数据量不是超大,例如几万,那么区别不明显。
2、CMS程序
这个可能是影响这个速度最明显的地方,PbootCMS目前发现的是如果数据量大、内容自定义字段过多、页面中判断层级大于2级等都容易造成网页响应速度下降明显。
3、数据库影响
PbootCMS默认使用的是sqlite,如果数据超过1w建议换成mysql。如果说一开始确定好了采集方向,那提前使用mysql会节省很多头发。
1、减少if层级,控制在2层
2、数据量和字段数一般没法控制,看具体项目,所以得考虑前台调用代码去优化
3、页面纯静态化,目前还没有此功能暂不考虑
下面针对前台调用代码进行分析下:
通过查找手册公共标签-其他格式化标签发现有个lfield参数,经过测试确实效果明显!

使用案例,这些因为只需要调用title和date所以做了限制查询这两个字段即可。
{pbootcms:list scode=2 num=8 order='date desc' lfield=title,date} [list:title]
[list:date style=Y-m-d]博主刚提到的那个站通过此方式首页响应速度从2s左右控制到了1s以内,基本解决了问题。
性能优化原理解析:

通过查看数据库查询语句发现PbootCMS对于列表数据默认是查询内容主表ay_content和附表ay_content_ext的全部字段,这就导致了数据多的时候性能明显下降,特别注意的是附表是内容新增字段存放位置,这里就解释了为什么字段新增过多导致卡的原因了。
因此核心就是在于默认得限制字段调用,所以博主建议列表内容调用的时候养成默认增加lfield属性限制字段使用,同时也建议避免content在列表内容中调用,因为content字段数据一般都比较多,可以使用description字段替代。
这里提供个列表内容调用模板:
{pboot:list scode=20 num=20 order=date lfield=title,ico,date,description} [list:title lencn=20] [list:description len=50] [list:date style=Y-m-d]
{/pboot:list}
// lfield=title,ico,date,description 代表限制调用字段title,ico,date,description
// [list:description len=50] 使用description来替代content2025-12-26
最近客户网站,偶发出现502错误。服务器配置很多也没用完。其他进程配置也放很高。配置玩了。还是偶发会有。后来看到一个大神说的。浏览器和nginx的链接默认时60秒,然后nginx和应用之间比如php或者JAVA默认值没有60秒。一般是20秒或者30秒,所以就导致这个问题了。值需要在nginx里设置这个超时时间。小于60秒就行了。 
阅读更多2023-06-03
2012 widnows iis+php7 老宝塔环境,不是python版本,还是exe客户端,php网站有时候出现500错误,很难测试,有时候一个月都不会出现,但是重启iis就好了(或者等待几个小时他会自己好),(这次没打印错误,就直接重启了),解决办法看了很多文章,也都实验了。发现不行,最后我对比了下。宝塔python版本 搭建的环境发现。fa
阅读更多2023-04-17
今天试着用chatgpt写的一个jquery效果,多行多列 logo图片 透明度 无限闪动效果!一步一步写需求,让他实现了,这个还是很不错。可以节省很多时间,很厉害,估计会替代很多,初级程序员的工作了。。<style>.column{display: 
阅读更多2024-03-14
免费的api不用注册每天最多查询1000次,小流量网站够用,大流量可以自己买套餐OnErrorResumeNextDimipAddress,field'获取客户端真实IP地址IfNotRequest.ServerVariables("HTTP_X_FORWARDED_FOR")=""ThenipAddress&nb
阅读更多2024-05-24
后台列表加入自定义字段,先打开 apps/admin/model/content/ContentModel.php//获取文章列表publicfunctiongetList($mcode,$where=array()){$field 
阅读更多2023-03-15
解决办法,直接放二个判断即可,没有子栏目的判断{pboot:if('[nav:scode]'=='{sort:scode}')}selected{/pboot:if}点击了子栏目的判断{pboot:if('[nav:scode]'=='{sort:tcode}')}selected{/pboot:if}
阅读更多2023-04-04
今天想把公司官网,封装成小程序,但是发现封装完成后。发现没法转发和分享朋友圈,于是开始找解决方法,很快发现转发,只需要onShareAppMessage,但是分享朋友圈一直灰色,发现用onShareTimeline不管用,最后发现是,只要用了web-view组件就不能分享,index.js 里写入,Page({data:{&
阅读更多2023-07-06
<!--HTML代码--><ahref="#"data-source="<ahref='{php}echo$link{/php}'>[value->title]</a>"class="copy-link-btnlayui-btnlayui-btn-xs">复制链接</a><!--引入&nbs
阅读更多2022-01-06
网页速度影响因素首先说明这里讲的网页速度是排除掉静态资源加载的,这里的速度是用户访问域名然后程序响应回来所花的时间,主要影响因素有以下几点:1、服务器配置配置高的服务器响应速度差别还是很明显的,但是一般情况下咱们的数据量不是超大,例如几万,那么区别不明显。2、CMS程序这个可能是影响这个速度最明显的地方,
阅读更多