繁体   English   中英

数据库驱动的站点的初始页面加载速度变慢

[英]database driven site has become slow in initial page load

我已经开发了一个数据库驱动的网站,它实际上也是一个内容管理系统。 它主要供我自己使用,但它也是一个uni项目。

我不太确定发生在什么时候,但是现在看来初始加载时间很慢。 现在至少需要6秒钟才能加载,有时会慢很多。 最初加载后,几乎可以立即重新加载或加载任何其他页面。 如果您离开它,然后过一会儿再返回它(不确定确切的时间...可能是一分钟或2分钟),则需要6秒或更长时间才能再次加载任何页面。

我使用了webpagetest.org,结果显示到第一个字节的时间非常长(有时长达10秒)。 我可以在其他时间处理其他问题,例如图像大小,但是需要解决初始页面加载问题。 如果与php include文件有关,那么为什么页面在初始加载后立即加载?

我知道我应该对它进行调查,并且当它第一次变慢时,但是不幸的是我无法确定确切的时间。 我已经在Google上搜索了有关缓慢加载速度的信息,但找不到任何人对真正的缓慢加载问题给出任何真正的建议。 这些都是“确保您没有太多单独的CSS文档”或“不要使用大图像”之类的基本内容。 除了这些常识性的事实外,它们也无关紧要。

我将提出一些想法,只是看是否有人可以确认网站本身的一般设计缺陷。

我曾经在使用该数据库的每个包含文件中分别连接到数据库,但后来认为这似乎没有必要,所以现在我只在所有页面的开头连接到数据库(我也在每个主页面的末尾关闭) )。 我应该在所有包含文件上连接到数据库还是这不合逻辑?

所有页面都以与数据库的连接开始,并且头部的链接是从数据库中检索的。 承认有多个CSS文件,但我看不到这会导致将大量时间添加到初始页面加载中。

包括主页在内的所有文章内容均直接从数据库中加载。

当然,这与某些地方发生的缓存有关。 但是,根据您提供的信息,无法确定花费了这么长时间的确切时间。 您是否使用任何PHP框架或库? 你的设置是什么? ...

话虽这么说,未缓存页面的6秒仍然是很长的时间,所以将存在一些效率低下的代码或数据库设计。 但您不能指望这里有银弹。 为了能够判断性能,需要查看整个代码,而问题可能是许多错误选择的结合...

如果您的网站上有社交按钮(fb / twitter / g +等),它们可能会大大降低网站速度

在我看来,这是一个缓存问题。 关于您提供的信息,它不应该在浏览器端。 我也有一种感觉,就像您不使用任何php操作码缓存。 我想到的2个其他可能原因是外部资源或由于某种原因第一次导致mysql连接和查询速度缓慢。 我认为倒数第二个可能性最高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM