如何测试PHP社交网络的可伸缩性

如何测试PHP社交网络的可伸缩性,php,mysql,apache,scalability,Php,Mysql,Apache,Scalability,我开发了一个基于WAMP(Windows、Apache、MySQL、PHP)服务器的社交网站。我把它放在一个免费的主机上(主机在LAMP中提供服务),它工作得很好 现在,我做了一些研究,发现PHP应用程序很难扩展,并且需要很多并行算法。我想测试webhost对我的网站支持多少用户,以及我的localhost支持多少用户 这是一个与其他社交网络一样的社交网络,涉及: 在主页上发布数据(带有图像) 用户间聊天(每3秒轮询一次) facebook) 一个问答论坛(就像这个论坛,或者yahoo ans

我开发了一个基于WAMP(Windows、Apache、MySQL、PHP)服务器的社交网站。我把它放在一个免费的主机上(主机在LAMP中提供服务),它工作得很好

现在,我做了一些研究,发现PHP应用程序很难扩展,并且需要很多并行算法。我想测试webhost对我的网站支持多少用户,以及我的localhost支持多少用户

这是一个与其他社交网络一样的社交网络,涉及:

  • 在主页上发布数据(带有图像)
  • 用户间聊天(每3秒轮询一次) facebook)
  • 一个问答论坛(就像这个论坛,或者yahoo answers)- 包括上升票、下降票、积分等)
  • 两个HTML5服务器发送无限运行的事件循环
  • 许多AJAX请求用于从MySQL数据库检索数据
至于现在,我还没有应用任何缓存选项,我计划稍后再应用。此外,聊天应用程序必须从轮询切换到Websockets(HTML5)

我估计用户数据库的用户将大大超过100000。这可能需要一些严格的可伸缩性

我需要知道我需要什么样的服务器。它应该是一个专用服务器,应该是其中的两个还是更多

我尝试了Apache的bin文件夹中的ab.exe,但它测试了我们手动提供的位置。社交网络需要登录信息才能访问所有数据,不幸的是,ab.exe的功能仅限于“欢迎”页面的可用性,而我上面提到的AJAX和HTML5功能则没有


那么,我应该如何准确地测试与我的笔记本电脑相同的硬件(Windows、Intel i5、4gb Ram、2.0 GHz)的网站的可扩展性,以及共享服务器甚至专用服务器上的可扩展性呢。

简单地说,你是在数小鸡孵化之前。如果你被一群新用户搞得不知所措,那么这就是我们通常所说的“好问题”。如果一路上你担心,那么你应该考虑:

  • 使用或缓存
  • 提供适当的服务
  • 因为您使用的是PHP,所以应该安装一个

  • 有很多不同的方法可以挤出结果。在您需要它们之前,我建议您坚持最佳做法(标准化等)。

    简单地说:您正在计算孵化前的鸡数。如果你被一群新用户搞得不知所措,那么这就是我们通常所说的“好问题”。如果一路上你担心,那么你应该考虑:

  • 使用或缓存
  • 提供适当的服务
  • 因为您使用的是PHP,所以应该安装一个

  • 有很多不同的方法可以挤出结果。在您需要它们之前,我建议您坚持最佳做法(标准化等)。

    如果您担心托管公司处理应用程序的能力,那么首先要做的是与他们联系,讨论他们有什么可用的能力以及他们的环境的可伸缩性

    除非你是在接待自己,否则你几乎无法控制局面


    但是,如果您认为用户数量将快速增长,那么最好尽早与您的提供商进行对话。

    如果您担心托管公司处理您的应用程序的能力,那么首先要做的是与他们联系,讨论他们有什么能力以及如何使用他们的环境是可伸缩的

    除非你是在接待自己,否则你几乎无法控制局面


    但是,如果您认为用户数量将快速增长,那么最好尽早与提供商进行对话。

    您不会在一夜之间获得10万用户。一旦你在网站上找到了真人,你就能更好地了解瓶颈。等等,直到你真的需要缩放。使用@Sam Dufel之类的东西进行破坏测试-只是想计划我的出路。我不希望网站服务器崩溃,陷入困境,每秒钟都失去用户。另外,它是针对特定人群的,这类人群中的一个。它可能需要比平常更早的可伸缩性选项。您在开发机器上的页面响应时间是什么样的?不要使用共享主机,使用VPS或云。你不会在一夜之间获得10万用户。一旦你在网站上找到了真人,你就能更好地了解瓶颈。等等,直到你真的需要缩放。使用@Sam Dufel之类的东西进行破坏测试-只是想计划我的出路。我不希望网站服务器崩溃,陷入困境,每秒钟都失去用户。另外,它是针对特定人群的,这类人群中的一个。它可能需要比平常更早的可伸缩性选项。您在开发机器上的页面响应时间是什么样的?不要使用共享主机,使用VPS或云。我可以使用共享服务器而不使用Apache上的Memcached吗?实际上,我至少要支付3个月的试用费。我可以使用Apache上没有Memcached的共享服务器吗?事实上,我至少要支付3个月的试用费。