【发布时间】:2013-10-28 14:21:43
【问题描述】:
我开发了一个基于 WAMP(Windows, Apache, MySQL, PHP) 服务器的社交网络网站。我把它放在免费主机上(主机在 LAMP 中提供服务),它工作正常。
现在,我研究了一下,发现 PHP 应用程序很难扩展,并且需要大量的并行算法。我想测试一下我的网站的 webhost 支持多少用户,我的 localhost 支持多少用户。
这是一个与其他任何社交网络一样的社交网络,涉及:
- 在主页上发布数据(带图片)。
- 用户之间的聊天(每 3 秒轮询一次,视为一次 脸书)。
- 一个问答论坛(就像这个,或雅虎回答 - 包括赞成票、反对票、积分等)
- 两个 HTML5 服务器发送的事件循环无限运行。
- 从 MySQL 数据库中检索数据的许多 AJAX 请求。
目前,我还没有应用任何缓存选项,我计划稍后再做。此外,聊天应用程序必须从 Polling 切换到 Websockets(HTML5)。
我估计的用户数据库将远远超过 100,000 个用户。这可能需要一些严格的可扩展性。
我需要知道我可能需要什么样的服务器。它应该是专用服务器,应该是 2 个还是更多?
我尝试了这个位于 Apache 的 bin 文件夹中的 ab.exe,但它测试了我们手动提供的位置。社交网络需要登录信息才能访问所有数据,不幸的是,这将 ab.exe 的功能限制为“欢迎”页面的可用性,而与我上面提到的 AJAX 和 HTML5 功能无关。
那么,对于与我的笔记本电脑相同的硬件(Windows、Intel i5、4gb Ram、2.0 GHz),我应该如何测试网站的可扩展性,以及可用的共享服务器甚至专用服务器的可扩展性呢? .
【问题讨论】:
-
您不会在一夜之间获得 10 万用户。一旦您在网站上找到真实的人,您将能够更好地了解瓶颈。恕我直言,请等到您真正需要扩展后再进行扩展。
-
使用Gatling之类的破坏测试
-
@Sam Dufel - 只是想计划我的出路。我不希望网站服务器崩溃并陷入困境,每秒都失去用户。另外,它是针对特定人群的,是同类中的一员。它可能需要比平时更早的可扩展性选项。
-
您的开发机器上的页面响应时间是多少?不要为此使用共享主机,请使用 VPS 或云。
标签: php mysql apache scalability