【问题标题】:How to make a website run faster?如何让网站运行得更快?
【发布时间】:2010-11-06 14:38:32
【问题描述】:

我进入了前 3 个月的 Web 开发,我一直在涉足 ColdFusion 形式的一些服务器端脚本,以及一些 Javascript、JQuery 和 CSS。

我已阅读有关 CSS 优化的信息,并想知道有助于提高网站性能的其他相关因素是什么。开发人员可以分析和优化哪些因素?

选择(或者我应该说是推荐)特定浏览器在这个性能搜索中发挥了多少作用?

干杯

【问题讨论】:

  • 少即是多。网页必须执行的 JavaScript 越多,它在浏览器中执行的速度就越慢。所以尽量将大部分逻辑保留在服务器上。
  • 另一方面,你在服务器上保存的越多,服务器运行的越慢。这完全取决于您可以扩展的范围。

标签: css browser web


【解决方案1】:

还可以向您的网站添加多个等待图标。 以这样的方式显示图标,每次用户应该得到不同的等待图标,这应该有效地吸引用户。并且意味着您的网站将被加载。

【讨论】:

    【解决方案2】:

    缓存所有内容(Web 服务器和浏览器缓存)。

    尽可能静态发布(即减少数据库调用量)

    【讨论】:

      【解决方案3】:

      一些非常基本的性能测试规则:

      • 如果程序/网页/出现任何问题,性能将毫无意义。
      • 如果没有可靠的衡量方式,请勿尝试提高性能。
      • 您必须对您的站点/程序/任何内容进行概要分析,以找出使事情变慢的原因。
        • 推论:不要随便改变事物,看看情况是否会好转。

      【讨论】:

        【解决方案4】:

        我遇到的最大问题是创建快速运行、设计精美且内容丰富的页面。这是用当今的技术很难做到的一件事。

        【讨论】:

          【解决方案5】:

          对于 IE,请参阅http://www.fiddler2.com/fiddler/Perf/ 用于 Fiddler 的新 neXpert 插件 (http://www.fiddler2.com/fiddler2/addons/nexpert.asp) 提供的功能类似于 YSlow 和 PageSpeed 中的功能。

          【讨论】:

            【解决方案6】:

            有一个非常棒的 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】:

              我建议阅读 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 中我最喜欢的几条规则:

              • 最小化 HTTP 请求
              • 添加过期或缓存控制标头
              • Gzip 组件
              • 使 JavaScript 和 CSS 外部化
              • 缩小 JavaScript 和 CSS

              另外,smush.it 非常适合压缩图像(这对网页加载速度有很大影响)。

              就浏览器而言,Safari 4 声称它是“世界上最快的浏览器”,我可以说 Mac 版本确实不错而且速度很快(更不用说优雅了!)。但是,与您使用的浏览器相比,上述建议的影响要大得多。

              史蒂夫

              【讨论】:

                【解决方案8】:

                Google 目前正在其新的“让我们让网络更快”页面上收集各种性能提示:http://code.google.com/intl/de-CH/speed/articles/

                仅供参考:并非这些页面上的所有信息都是有效的,尤其是 PHP 提示已经过时了。

                【讨论】:

                  【解决方案9】:

                  为 Firefox 安装 YSlowPagespeed 插件。然后开始查看您的网站未优化的所有方式。这就像试图从消火栓中喝一口水一样。

                  使用缩小的(可能是聚合的)Javascript 和 CSS 以及良好、健康的 far-future-expires 是一个非常好的开始方式。

                  • 别忘了 gzip。
                  • 并使用 Etags。
                  • 并将您的 CSS 放在文档的顶部。
                  • 并将 javascript 放在最后。
                  • 并为静态资源使用单独的域。
                  • 并避免 URL 重定向。
                  • 并删除重复的 javascript 和 CSS。

                  还有……看看我说的消防栓是什么意思!

                  【讨论】:

                  • 我是 YSlow 的忠实粉丝,可惜我使用的是 FF 3.5 rc3,而雅虎尚未更新插件以使用它,除非我破解了支持的版本xpi.
                  【解决方案10】:

                  如果您有很多 javascript,您可能想要使用 Javascript 压缩。 Dojo 提供了一种这样的工具 SHRINKSAFE 来压缩您的 javascript。找到以下链接: http://www.dojotoolkit.org/docs/shrinksafe

                  还有一个google开源的工具,叫做page speed,可以帮助你优化网站性能。它在最近向所有人开源之前在内部使用。 http://google-code-updates.blogspot.com/2009/06/introducing-page-speed.html http://code.google.com/speed/page-speed/

                  希望对你有帮助。

                  【讨论】:

                    【解决方案11】:

                    文件越少越好 - CSS sprites 可能需要考虑。根据我的经验,你必须在速度和可维护性之间平衡你的 CSS 文件——一条规则或多或少不会影响白天和黑夜......

                    【讨论】:

                      【解决方案12】:

                      您不应该推荐任何特定的浏览器,而是根据当前标准设计您的网页,并在必要时对旧型号进行一些修复。从我的角度来看,一切都会对速度产生影响,但 CSS 是最不重要的,在现实世界的示例中,用户不会注意到这一点。在大多数情况下,将 html 和样式声明明确分开就可以了。真正有什么影响?首先,您可以通过获得更好的托管合同(也许是专用服务器)来解决问题。提高网站加载速度的另一件事是降低图像质量和 CSS-Sprites 的使用。很多时候,在动态网页上,数据库是一个瓶颈,因此缓存和一个好的数据库抽象层可以改善事情(PHP:PDO 而不是简单地使用 mysql())。 GZip 你的输出给用户。还有很多东西,但其中很多都非常依赖于语言..

                      我建议使用 FireBug 和 loadimpact.com 进行测试。

                      【讨论】:

                        【解决方案13】:

                        只是从上面总结的东西:

                        网站的速度取决于以下几点:

                        • 服务器
                        • 连接
                        • 客户

                        您可以在这部分的每一部分进行改进。

                        服务器:如果您依赖数据库,请检查您的查询是否已缓存,更重要的是检查您的数据是否已缓存。例如,如果您在每个页面上都从数据库中获取一个菜单,那么您可以缓存该结果。此外,您可以检查您的代码,看看是否有优化空间。 硬件本身也起作用。如果您采用共享托管计划,则服务器可能充满了其他未优化的应用程序,这些应用程序会对服务器造成影响。

                        连接: YSlow 和 Pagespeed 以及Fiddler 在这里派上用场。您可以对静态内容(CSS 和 JS)进行一些缓存。将它们的到期日期设置在遥远的未来。使用 GZIP 使它们的内容更小,并结合静态文件在一定程度上有所帮助。 另外可能是服务器带宽低。

                        客户端:如果您使用古怪的 javascript 或使用缓慢的 css 选择器,这可能会损害客户端的性能。但这取决于客户计算机的速度。

                        【讨论】:

                          【解决方案14】:

                          观看来自 Steve Souders(YSlow 的作者)的这些视频:

                          http://www.youtube.com/watch?v=aJGC0JSlpPE

                          http://www.youtube.com/watch?v=BTHvs3V8DBA

                          他还出了几本书。

                          【讨论】:

                            【解决方案15】:

                            使用 ColdFusion,您需要确保您的查询是 cached。使用查询分析器(如果使用 mssql 服务器)确保加载缓慢的页面不是错误查询的结果。在数据库端,您还需要确保正确的索引。

                            性能的一个重要因素是为图像、文件等发送了多少 HTTP 请求。YSlow 将向您显示此信息。它仅适用于 Firefox。

                            我推荐this book

                            【讨论】:

                              猜你喜欢
                              • 2018-02-11
                              • 2023-03-26
                              • 1970-01-01
                              • 2011-05-10
                              • 1970-01-01
                              • 2017-07-10
                              • 2013-03-14
                              • 2016-12-26
                              相关资源
                              最近更新 更多