我有Hostican.com的VPS服务。 2.7GHz的CPU,2GB的内存(5级,如果你看看网站 )。 我有一个智能手机应用程序,向PHP表单发出请求,查询MySQL数据库。 由于即将到来的广告活动,我预计在一天内会有大量的活动。 运动的成功非常关键。 当活动激增时,我无法承受服务器的损失。
信息:
大部分stream量可能来自帐户创build。
我可以依靠这个VPS设置来处理这种stream量吗?
另外,假设这一天是成功的,那么我可能每天都会把这么多账户请求(以及对其他PHP表单的请求的数量增加)放在一起。 每天可能有20K新帐户。 我不能想象我所拥有的VPS能够处理这个问题很长时间,但是我不能确定它在什么时候不能处理它,以及我应该为升级而拍摄些什么。
我正在研究MySQL和PHP优化,以及升级到专用服务器的选项。 我肯定会愿意把钱花在专用的服务器上,如果这是需要的(而且这听起来像是迟早会如此)。
我忘了两点,想补充一点:
因此,服务器使用Apache,MySQL,PHP,SSL和exim(或其他电子邮件服务器)来为这个智能手机应用程序提供服务。 与PHP和MySQL相比,SSL和电子邮件将成为多大关注点?
我首先要说的是,你最好的select是对整个应用程序进行基准testing(MySQL / PHP,而不仅仅是一个或另一个),看看你的服务器的function是什么。 这可能会涉及一些模拟用户操作的自定义脚本。 这将给你一个很好的答案,你可以服务的stream量和是否需要更强大的服务器。
你的查询平均约为4查询/秒,这是相当低的,所以我猜测即使是最小的MySQL设置应该能够处理它。 作为一个例子,我有一个低端的专用MySQL服务器平均100查询/秒(MediaWiki)与CPU 95%闲置。 然而,我的应用程序阅读起来很重,而你的写作却很重,这使得事情发生了很大的变化。
假设20k账户将在24小时内分摊,也可能是危险的。 您可能会在一到两个小时内获得大部分stream量,在这种情况下,您可能需要每秒处理100次查询。 除非您现有的服务器过载之后,您已经安装了一个备份数据库,否则任何操作都已经太晚了。
另一个要考虑的不是MySQL的性能,而是PHP脚本的性能。 从使用PHP的网站的经验,我会担心这比每秒4查询/秒。 即使是小型的PHP脚本,也可能匆忙地吃掉CPU。
问问自己这个活动有多less价值,如果你的数据库在开始后一小时内掉下来,你能承受多less损失? 你可以得到一个体面的专用服务器一个月100美元。 获得两台(或更多台)服务器甚至可能是值得的,一台作为备份,以防第一台服务器过载或意外停机。
有些问题可以问自己:
编辑 :回答更新的问题
我没有任何使用这种规模的SSL /电子邮件的经验。 额外的进程肯定会消耗CPU,更重要的是RAM。 由于这个应用程序相对复杂,因此强调需要做某种forms的基准testing。 当您在单个服务器上运行多个服务器进程时,性能难以估计,因为进程间交互变得非常复杂,性能问题更加微妙。 如果不进行某种testing,您真的不知道您的服务器是否可以处理10个用户或10,000个用户。
事实上,你有一个非常短的交通将迅速增加的窗口使基准更加重要。 在这种情况下,您的stream量会稳定增长几个星期/月,您可以使用低端服务器启动并根据需要慢慢升级/扩展。