发布日期: 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来替代content2024-12-12
比方说我们这里判断购物车,可以很灵活的使用php代码。<?php// 启动会话session_start();// 判断是否存在 'cart' sessionif (isset($_SESSION['cart'])) { $cart = $_SESSION['cart']; echo '购物车数据:<pre>'; pri
阅读更多2023-07-08
<formaction="{pboot:scaction}"method="get">关键字:<inputtype="text"name="keyword"><inp
阅读更多2024-03-14
<?php//启动会话session_start();//初始化购物车if(!isset($_SESSION['cart'])){$_SESSION['cart']=array();}//判断产品是否已经在购物车中functionisProductInCart($product_id){
阅读更多2023-02-28
Ueditor怎么增加模板,直接进入,模板js目录:dialogs/template/config.js添加即可。参数说明:pre:模板选择时候的预览图,可自定义。title:模板预览时候显示的title 'preHtml':预览的代码'html': 插入的代码
阅读更多2021-11-11
<divid=”google_translate_element”style=”display:none;”></div><scripttype=”text/javascript”src=”//translate.google.cn/translate_a/element.js?cb=googleTranslateElementInit”></script><scripttype=”text/javascript”>fu
阅读更多2024-06-18
HTTP 80 强制转 HTTPS全站采用https协议访问,所以需要http重定向到https,只需要在.htaccess加入下面规则在相应的网站根目录新建 .htaccessRewriteEngineOnRewriteCond%{SERVER_PORT}80RewriteRule^(.*)$https://%{HTTP_HOST}/$1[R,L]COPY
阅读更多2022-05-19
PbootCMS栏目页 详情页获取顶级栏目大图,这样不用每个子类都设置栏目大图banner{pboot:sort scode={sort:tcode}}<div class="nybanner"><img src="[sort:pic]" alt="[sort:name]"/></div>{/pboot:sort}
阅读更多2023-08-14
解决方案是从css中删除:hover状态,考虑一下,移动浏览器不应该有:hover状态,因为没有悬停。如果您想在桌面上保持悬停状态,可以使用media 来判断pc端,如下所示@media (min-width: 992px) { .button:hover { background: '#fff' }}
阅读更多2022-06-09
我们有的时候爬一些网站,会出现一些版权html注释在里面。手动删除起来麻烦下面直接用这个正则表达式 删除注释HTTrack Website和 webzip版权 应该都可以用。webzip目前还没测试去掉 注释 标记<!--[/!]*?[^<>]*?>下面在分享一些其他常用的正则<[/!]*?[^<>]*?>去掉HTML 
阅读更多