我进入了Web开发的前3个月,我一直在尝试使用ColdFusion形式的服务器端脚本,以及一些Javascript,JQuery和CSS。
我已经阅读了有关CSS优化的内容,并想了解有助于提高网站性能的其他相关因素。开发人员可以通过哪些因素进行分析和优化?
在此次演出中,特定浏览器的选择(或者说我应该说推荐)有多少部分?
欢呼声
答案 0 :(得分:18)
为Firefox安装YSlow和Pagespeed个插件。然后开始查看您的网站未经优化的所有方式。这就像试图从消防栓中汲取一口水一样。
使用缩小(可能是聚合的)Javascript和CSS以及良好,健康的远期 - 过期是一个非常好的开始方式。
并且......看看我对消防栓的意思了!
答案 1 :(得分:6)
只是从上面总结一下:
网站的速度取决于以下几点:
在这部分的每一部分,你都可以做出改进。
服务器:如果您依赖数据库,请检查您的查询是否已缓存,更重要的是检查您的数据是否已缓存。例如,如果在每个页面上都从数据库中获取菜单,则可以缓存该结果。此外,您可以检查代码并查看是否有优化空间。 硬件本身也起着重要作用。如果您使用的是共享主机方案,则可能是服务器中充满了其他未经优化的应用程序,这些应用程序会对服务器产生影响。
连接:此处YSlow和Pagespeed以及Fiddler都派上用场了。您可以对静态内容(CSS和JS)进行一些缓存。将他们的过期日期设定在将来。使用GZIP使其内容更小,并且静态文件的组合在一定程度上有所帮助。 此外,服务器可能带宽较低。
客户端:如果您使用古怪的javascript或缓慢的css选择器,这可能会损害客户端的性能。但这取决于客户端计算机的速度。
答案 2 :(得分:5)
我建议阅读Best Practices for Speeding Up Your Web Site以及Yahoo!Exceptional Performance页面上的所有内容。
如果您喜欢图书,可能会对High Performance Websites感兴趣(请注意,Best Practices for Speeding Up Your Web Site文章中有很多内容)和Even Faster Websites。
以下是Best Practices for Speeding Up Your Web Site中我最喜欢的一些规则:
此外,smush.it适用于压缩图片(这会对网页加载速度产生很大影响)。
就浏览器而言,Safari 4声称它是“世界上最快的浏览器”,而且我可以说Mac版本肯定是好的和快速的(更不用说优雅!)。但是,上述建议与您使用的浏览器相比会产生更大的差异。
史蒂夫
答案 3 :(得分:3)
使用ColdFusion,您需要确保查询为cached。使用查询分析器(如果使用mssql服务器)确保缓慢加载页面不是错误查询的结果。在数据库端,您还需要确保正确编制索引。
性能的一个重要因素是为图像,文件等发送了多少HTTP请求.YSlow将向您显示此信息。它仅适用于firefox。
我建议this book。
答案 4 :(得分:2)
查看Steve Souders(YSlow的作者)的这些视频:
http://www.youtube.com/watch?v=aJGC0JSlpPE
http://www.youtube.com/watch?v=BTHvs3V8DBA
他还有几本书。
答案 5 :(得分:2)
Google目前正在收集关于他们新版“让网页更快”的各种表现提示 - 页面:http://code.google.com/intl/de-CH/speed/articles/
仅供参考:并非所有这些页面上的信息都是有效的,特别是PHP提示已经过时了。
答案 6 :(得分:2)
Firefox有一个非常好的插件,名为Dust-Me Selectors。它会扫描您的css文件,并让您找到未使用/已成为标记冗余的选择器。
https://addons.mozilla.org/en-US/firefox/addon/5392
您还应该从CDN传送静态内容。静态文件的并行下载将加快页面呈现速度。这里有一个更好的解释:http://www.sitecheck.be/tips/speed-up-your-site-using-a-cdn/
答案 7 :(得分:1)
您不应该推荐任何特定的浏览器,但如果需要,可以将网页设计为当前标准,并为旧型号提供一些修复。从我的角度来看,一切都可以产生速度影响,但CSS是最不重要的一个,在现实世界的例子中,用户不会注意到这一点。在大多数情况下,html和样式声明的明确分离将起到作用。真正有什么影响?首先,您可以通过获得更好的托管合同(可能是专用服务器)来简单地解决问题。提高网站加载速度的另一个方法是降低图像质量和CSS-Sprites的使用。通常在动态网页上,数据库是一个瓶颈,因此缓存和良好的数据库抽象层可以改善事物(PHP:PDO而不是简单地使用mysql())。将输出GZip给用户。还有很多东西,但很多都是依赖语言的。
我建议使用FireBug和loadimpact.com进行测试。
答案 8 :(得分:1)
更少的文件更多 - CSS sprites可能需要考虑。根据我的经验,你必须在速度和可维护性之间平衡你的CSS文件 - 一个或多或少的规则不会在夜晚和白天之间产生差异......
答案 9 :(得分:1)
对于IE,请参阅http://www.fiddler2.com/fiddler/Perf/ Fiddler的新neXpert插件(http://www.fiddler2.com/fiddler2/addons/nexpert.asp)提供类似于YSlow和PageSpeed中的功能。
答案 10 :(得分:1)
我遇到的最大问题是创建具有丰富内容的快速运行,设计精美的页面。对于今天的技术来说,这是一件非常难的事情。
答案 11 :(得分:0)
如果你有很多javascript,你可能想要使用Javascript压缩。 Dojo提供了一个这样的工具SHRINKSAFE来压缩你的javascript。找到以下链接: http://www.dojotoolkit.org/docs/shrinksafe
还有一个由谷歌开源的工具称为页面速度,它可以帮助您优化网站性能。它最近在开源之前在内部使用。 http://google-code-updates.blogspot.com/2009/06/introducing-page-speed.html http://code.google.com/speed/page-speed/
希望它有所帮助。
答案 12 :(得分:0)
一些非常基本的性能测试规则:
答案 13 :(得分:0)
缓存所有内容(Web服务器和浏览器缓存)。
尽可能静态发布(即减少数据库调用量)
答案 14 :(得分:0)
还为您的网站添加多个等待图标。 以这样的方式显示图标,即每次用户都应该获得不同的等待图标,这对于吸引用户应该是有效的。并且意味着您的网站将被加载。