我开发了一个棋盘游戏应用程序(用于android / iphone)并添加了一个多人游戏组件。正在考虑使用app engine(java)作为后端,所以实现了这种方式,但结果显示cpu成本可能会过高(app引擎可能不是这类应用的最佳选择)。
我对php的性能没有多少经验,我想知道是否有人可以给我一个想法,如果我正在走向一条糟糕的道路,将其转换为php。基本步骤是:
我不知道在单个http操作的上下文中是否需要做很多工作。一些数字:
这是不现实的吗?我认为最好的解决方案是获得一个专用服务器,并将所有游戏状态留在内存中,但我现在正试图通过一些共享主机平台。这意味着我必须继续往返于数据库以获得游戏状态,反序列化和序列化。
感谢您的任何想法
答案 0 :(得分:1)
如前所述,任何认真的托管公司都可以轻松应对流量。我只是想提几点:
您确定要每次来回发送整个游戏状态吗?你应该能够只发送改变后的东西...这当然在很大程度上取决于你的游戏是如何运作的。
您可能需要考虑的唯一其他问题是延迟:服务器请求可以轻松地花费一秒或更多时间来完成整个编码/发送/等待/接收/解码过程。现在,如果你的游戏是回合制的,这可能不是一个主要的障碍,但总是要记住(也想到那些连接速度慢的人,即没有3G覆盖)。
无论如何,你现在看起来很不错。如果我是你,我会去写几个测试来看看它是怎么回事。除此之外,祝你好运! ; - )
答案 1 :(得分:0)
我很确定共享主机可以应对这种流量,根据我的经验,大多数共享主机上的网站几乎没有任何流量
如你所说,你可以使用memcache或类似的东西,如果你想沿着那条轨道前进,那里有很多便宜的vps选项。
我会首先让它运行并让500人玩,然后当它成为一个问题然后处理它。没有必要对抗尚未开始的火灾
答案 2 :(得分:0)
听起来不错。如果您要存储json,可能需要考虑使用NoSQL数据库(如MongoDB),但这可能无法在共享主机上使用。