我在linux服务器上有一个用cakephp编写的网站。我的css和js文件的下载时间非常慢,我遇到了问题。例如,在加载我的主页时,这就是chrome中的网络选项卡:
正如您所看到的,我的一个css文件花了59秒下载!重要的是要注意它并不总是相同的css文件。有时它的JS文件,有时是其他css,但它们必须在显示页面的其他内容之前下载,因此它们会阻止页面加载。由于等待下载该文件,因此网站不会显示59秒。
我检查了我的服务器,它的负载非常低,cpu运行10%,并且使用的ram不到20%。它是一个带有以下prefork设置的apache服务器:
StartServers 10
MinSpareServers 10
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 10000
这提到的下载时间很慢,网站上可能有3-4个并发用户。我在AppM下使用appdynamics我的应用程序,没有任何可疑的显示在那里。我用服务器管理员检查了php.ini文件,一切似乎都很好。我可以使用哪些其他软件来查找此问题的来源? apache日志中的信息也不多。
任何建议都将不胜感激
编辑:
我将所有资产都移到了webroot,并在使用同一服务器的另一个域上获得了这些结果:
正如你所看到的,这次它的jquery文件下载了27秒。它存储在app / webroot
中答案 0 :(得分:5)
我看看从webroot提供资产
From the book(强调补充):
众所周知,通过PHP提供服务的资源可以保证比不调用PHP 服务这些资产更慢。虽然核心团队已采取措施尽快使插件和主题资产服务,但可能会出现需要更多性能的情况。在这些情况下,建议您将插件/主题资源符号链接或复制到app / webroot中的目录,其路径与CakePHP使用的路径相匹配。
- app / Plugin / DebugKit / webroot / js / my_file.js成为app / webroot / debug_kit / js / my_file.js
- app / View /主题/海军/ webroot / css / navy.css成为app / webroot / theme / Navy / css / navy.css
取决于很多因素,"更慢"可以是几乎无法察觉到几乎无法使用的任何地方。
此建议不是特定于版本的,并且几乎总是适用。为了加快资产加载速度,让网络服务器为您处理它们。
答案 1 :(得分:0)
您是否尝试过缩小代码?在不删除任何功能的情况下,从代码中减少不必要的字符。这有助于加快下载速度。
请查看以下链接:http://www.htmlgoodies.com/beyond/reference/7-tips-to-make-your-websites-load-faster.html