【发布时间】:2011-03-07 17:08:52
【问题描述】:
我正在开发一个 Web 应用程序,它已经达到了我拥有大部分必要功能的地步,我开始担心执行速度。所以我四处寻找信息,我发现了很多关于通过缩小 CSS/JS、设置缓存控制标头、为静态文件使用单独的域、压缩输出等来减少页面加载时间的方法(以及基本的服务器 - memcached 等辅助技术)。但是假设我已经优化了这一切,我关心的是我的 Web 应用程序实际生成页面需要多长时间,即没有缓存命中的纯服务器端处理时间。显然,减少时间的技巧将取决于我使用的语言和底层库,但合理的目标是多少?作为比较,我会对使用现有框架构建的应用程序的处理时间的真实示例感兴趣,执行访问数据库和呈现模板等典型操作。
我使用了一些代码来测量处理时间(或者至少是我编写的代码中发生的部分时间),我通常看到的值在 50-150 毫秒之间,这似乎相当高.我很想知道我应该在多大程度上专注于降低它,或者我对这个应用程序的整个方法是否太慢,我应该放弃它并尝试一些更简单的东西。 (基于 Firebug 的 Net 选项卡,考虑到我在同一台计算机上同时使用客户端和服务器进行测试,我未测量的处理部分通常添加不到 5 毫秒。)
仅供参考,我正在使用 Python,使用 Werkzeug 和 SQLAlchemy/Elixir。我知道那些不是最有效的技术,但我真的只关心足够快,而不是尽可能快。
编辑:澄清一下,我上面引用的 50-150 毫秒是纯服务器端处理时间,只是 HTML 页面本身。正如用户所见,页面加载所需的实际时间至少是 200 毫秒高(因此,总共 250-350 毫秒),因为 CSS/JS/图像的访问时间(尽管我知道可以通过正确使用缓存和Expires 标头、精灵等来改进这一点,这是我将在不久的将来做的事情)。除此之外,网络延迟还会增加更多时间,因此我们可能会讨论 500 毫秒的总客户端加载时间。
【问题讨论】:
标签: performance timing