代码之家  ›  专栏  ›  技术社区  ›  EvilChookie

这些生成时间对php-mysql来说可以接受吗?我在哪里可以改进?我应该在哪里改进?

  •  1
  • EvilChookie  · 技术社区  · 17 年前

    我正在开发我的第一个重大项目。这是一个轻量级的内容管理系统。

    我已经为这个项目开发了我自己的所有框架。我相信这会引来很多火焰,还有一些“啧啧”声,但到目前为止,它似乎做得很好。

    我看到页面生成时间在5-15毫秒之间。(举个例子,以防我的数字错了,是0.00997686386108秒)。

    编辑:

    我的“测试”系统是我在BlueHost上的一个备用网络托管帐户。因此,我可以想象,我看到的任何表现(积极或消极)都大致反映了我在“现实世界”中看到的情况。

    5 回复  |  直到 17 年前
        1
  •  3
  •   Eric Petroelje    17 年前

    在测试环境中表现良好是一个良好的开端,但还有其他问题需要考虑(如果你还没有考虑的话)。以下是我脑海中能想到的几个:

    1. 随着数据量的增加,你的应用程序表现如何?通常,测试环境中的数据很少。有了大量数据,优化不佳的查询、缺失索引等问题开始在以前没有的地方造成问题。如果设计不当,性能可能会随着数据大小呈指数级下降。

        2
  •  2
  •   chaos    17 年前

    你在5-15ms的时间里做得很好。除了以下方法外,你不会知道它在负载下的表现 throwing load at it

        3
  •  1
  •   Philippe Gerber    17 年前

    正如另一个问题中提到的:我经常错过的是,大多数网站可以通过优化前端而不是后端来极大地提高速度。看看这个 superb list about speeding up your frontend @yahoo.com:

    • 最小化HTTP请求
    • 使用内容交付网络
    • 压缩内容
    • 将样式表放在顶部
    • 避免使用CSS表达式
    • 将JavaScript和CSS设置为外部
    • 减少DNS查找
    • 精简JavaScript和CSS
    • 避免重定向
    • 配置ETag
    • 使Ajax可缓存
    • 尽早冲洗缓冲区
    • 对AJAX请求使用GET
    • 加载后组件
    • 预加载组件
    • 跨域拆分组件
    • 尽量减少iframe的数量
    • 减小Cookie大小
    • 为组件使用免Cookie域名
    • 开发智能事件处理程序
    • 选择<链接>超过@import
    • 避免过滤器
    • 优化图像
    • 优化CSS Sprites
    • 不要在HTML中缩放图像
    • 使favicon.ico变小并可缓存
    • 将组件保持在25K以下
    • 将组件打包到多部分文档中
        4
  •  0
  •   Community Mohan Dere    9 年前

    5-15毫秒作为页面生成时间是完全可接受的。但最重要的是,当许多人同时访问您的内容时,您的系统的性能如何。因此,你需要在重负载下测试你的系统,看看它的扩展性有多好。

    关于调优,设置一个聪明的缓存策略通常比调优MySQL更有效,特别是当你的数据库和http服务器在不同的机器上时。如果你需要关于这个主题的建议,StackOverflow上有很多关于缓存的问答( I like that one, maybe because I wrote it :)

        5
  •  0
  •   BlackAura    17 年前

    这取决于几个因素。最重要的是你期望网站获得多少流量。

    如果你的网站流量相当低(每天可能有1000000次页面浏览,平均每秒约11次),那应该没问题。您需要对此进行测试——使用HTTP基准测试工具并行运行大量请求,看看会得到什么样的结果。

    请记住,您处理的并行请求越多,每个请求所需的时间就越长。重要的数字是在平均时间变得不可接受之前,您可以处理多少并行请求,以及您可以处理请求的速率。

    您还希望使用具有代表性的数据集对此进行测试。如果你期望有100个页面,那么用一个页面对CMS进行基准测试是没有意义的。拿你最好的估计,加倍,用至少那么大的数据集进行测试。