Php 如何衡量Web应用程序对可伸缩性的需求

Php 如何衡量Web应用程序对可伸缩性的需求,php,web-applications,scalability,Php,Web Applications,Scalability,我正在构建一个web应用程序,它将为不断增长的用户群提供内容。我想知道从哪里开始可伸缩性,以及如何衡量我的应用程序的性能,以便知道何时需要它 例如,我知道随着网站流量的增长,缩小脚本和使用静态内容缓存等措施将有助于管理加载时间,但我不确定何时是实现这些功能的正确时机 此外,在我的服务器开始崩溃和阻塞之前,我如何衡量网站的性能,知道什么时候开始添加更多服务器,构建应用程序的健壮性,等等 提前感谢…我在编码方面比服务器管理员更在行。。只是一个想法。。。我会有一个index1.php,它与index.

我正在构建一个web应用程序,它将为不断增长的用户群提供内容。我想知道从哪里开始可伸缩性,以及如何衡量我的应用程序的性能,以便知道何时需要它

例如,我知道随着网站流量的增长,缩小脚本和使用静态内容缓存等措施将有助于管理加载时间,但我不确定何时是实现这些功能的正确时机

此外,在我的服务器开始崩溃和阻塞之前,我如何衡量网站的性能,知道什么时候开始添加更多服务器,构建应用程序的健壮性,等等


提前感谢…

我在编码方面比服务器管理员更在行。。只是一个想法。。。我会有一个index1.php,它与index.php没有什么不同,只是它的开头有一个microtime(),最后一行有一个microtime()来计算执行时间。在最后一行(microtime)之后,我将有一个函数将这个执行时间和日期一起存储在数据库中

我会每天运行index1.php页面2到3次,并存储当天的maxtime。在一周结束时,你可以生成一张图表,或者直接看到数值如何随时间变化,这样你就可以决定做什么


MySQL优化(通常有很多东西要优化,数据类型,索引,SQL查询等),好的设计,重循环,异步加载(XMLHTTP-可以帮助很多)都是需要考虑的事情。

缩写脚本和缓存内容是你应该做的<强>右< /强>。它会影响页面加载速度,从而影响用户体验,无论您的站点加载程度如何。研究表明,更快的网站有更好的转化率-谷歌it。据称,页面速度也有利于搜索引擎排名

您可以使用诸如和Yahoo的工具来测量页面加载性能。这两种工具也都提出了改进方法,所以让它们成为您的指南

  • 首先定义要向用户提供的服务级别。例如,从用户角度来看,任何页面的加载时间都不应超过1秒。网站应该有99.9%的正常运行时间,等等

  • 根据服务级别,定义可接受的性能(以页面加载时间等为单位)

  • 对现有业绩进行基准测试。ie根据当前使用水平的不同标准衡量您当前的性能

  • 确定要优化的页面。如果大多数站点需要优化,您需要查看整体解决方案(例如:缩小js/css、缓存等)。如果特定页面需要优化,请查看单个查询等

  • 定期测量性能,查看您的服务级别是否仍然满足要求,或者是否需要进一步扩展

  • 这些是您可以采取的一般步骤。关于具体步骤,请考虑:

  • 对所有内容(数据库、多个Web服务器等)进行分区/拆分

  • 异步设计(也就是说,任何进程都可能占用大量资源,你应该将其转换为异步进程。假设你允许用户上传一个文档。应用程序然后获取文档,并对文档进行一些处理。与其在单个php页面上进行所有处理,不如将请求添加到队列中,然后立即让用户知道他的请求t已排队。让一个单独的后台进程通过查看队列来进行处理。完成后,您可以让用户知道他的请求已处理


  • 要了解更多指南,您可能想看看一本名为《可伸缩性的艺术》的书。

    这正是我想要的,感谢您提供的一般流程和书籍推荐。我会去看看的!