2013-02-26 37 views
0

我开发了一个实际上也是内容管理系统的数据库驱动的网站。这主要是为了我自己的使用,但它也是一个uni项目。数据库驱动的网站在初始页面加载速度变慢

我不太确定它发生了什么,但它现在似乎有一个非常缓慢的初始加载时间。现在加载至少需要大约6秒钟,有时会比较慢。最初加载后,几乎可以在重新加载或加载任何其他页面时立即进行加载。如果你离开它,并在一段时间后回到它(不确定究竟多长时间...也许是一分钟或2次),则需要6秒或更长时间再次加载任何页面。

我用了webpagetest.org,结果显示第一个字节的时间非常高(有时甚至高达10秒)。我可以在其他时间关注图片大小等其他问题,但这是需要解决的初始页面加载。如果这与php包含文件有关,那么为什么页面在初始加载之后立即加载?

我知道我应该调查它,当它第一次似乎放慢,但不幸的是我不能确切确切的时间。我已经搜索了谷歌关于慢加载速度,我可以找到没有人提供任何关于真正的慢加载问题的真正意见。这只是基本的东西,比如“确保你没有太多单独的CSS文档”或“不要使用大图片”。除了这些常识以外,它们也相当不重要......

我会抛出一些想法,看看是否有人能够确认网站本身的一般设计缺陷。

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

页面全部以与数据库的连接开始,头部中的链接从数据库中检索。诚然,有不止一个CSS文件,但我看不到有太多时间被添加到初始页面加载。

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

+0

您通过CSS,图像等推送了多少MB? – AmazingDreams 2013-02-26 22:08:21

+0

根据webpagetest.org它是26个请求和855 KB。 – 2013-02-26 22:14:00

+1

使用Xdebug分析进行检查。 – SparKot 2013-02-26 22:15:21

回答

0

听起来像一个缓存问题给我。关于您提供的信息,它不应该是浏览器端。我也有一种感觉,就像你不使用任何PHP操作码cacher。 2其他可能的原因,在我的脑海里,是外部资源或缓慢的MySQL连接&由于某种原因第一次查询。在我看来,最后的可能性是最高的。

+0

你已经提到了我认为是主要罪魁祸首的数据库连接。关于缓存 - 页面上没有足够的东西可以解决问题。我指责数据库速度的问题是,我正在与godaddy进行付费托管计划。我还有一个免费的托管帐户,它使用数据库内容,并且在初始加载时速度更快。 – 2013-02-26 22:37:07

+0

就你而言,我会从查看Chrome或类似浏览器上的资源加载时间开始。如果你能确定在那里挂什么,那会让你更容易。 – 2013-02-26 23:08:20

+0

它很久以前就被解决了,但它是初始数据库连接。将它移动到不同的服务器,并在一微秒内加载。 – 2013-12-28 20:32:49

0

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

这就是说,6秒的未缓存页面仍然是一个巨大的时间,所以会有一些低效的代码或数据库设计。但是你不能指望这里有一颗银弹。为了能够判断性能,人们需要看到整个代码,这个问题可能是很多不好的选择的组合...

+0

也许我不应该发布这个,但我希望能够如果可能的话,会有些煽动性我在想,也许会有一些严重的缺陷,如代码循环不必要或什么的。如果初始负载可以稍微解释一下,那么这将有助于我确切地确定它的可能性。 – 2013-02-26 22:16:13

0

如果有社交按钮(fb/twitter/g +等)您的网站,他们可能会显着减慢网站

+0

那些通常在页面完全加载后才加载。 – AmazingDreams 2013-02-26 22:15:55

+0

我同意你的意见AmazingDreams和我在任何地方都没有任何社交按钮。这是一个初始加载问题,您在网站上看到的那些社交按钮往往会减慢页面加载的“完成”。我的网页只是等待很长时间(就好像它正在激活服务器脚本一样),然后整个页面瞬间加载。 – 2013-02-26 22:26:39