我是实时应用程序的初学者(例如:聊天,MMORPG),但我在php和ajax方面表现不错。我已经使用php和ajax(Interval 1000ms)编程了聊天。之后,我的网站变得非常沉重,原因是服务器上的压力很大!!
我想了解减少服务器压力的信息。
提前致谢
PubNub就是最好的!
PHP客户端库可在https://github.com/pubnub/php(包括作曲家)获得
还有50多个(包括javascript)可以在这里找到:http://www.pubnub.com/developers/
看看你是否有资格获得免费计划:http://www.pubnub.com/free-evangelism-program/
它每分钟只请求一次(请求不是60 /分钟但是1 /分钟)
您可以尝试将聊天转换为基于套接字的Web应用程序。我不知道使用AJAX或使用套接字之间的性能差异,但我使用套接字对我来说听起来更合乎逻辑。 :)
您可能希望缓存结果。设置memcached(key => value)缓存可以减少数据库负载。
当有新请求进入时,如果要查找的值在缓存中,则应用程序会询问内存缓存。否则请向数据库引擎询问值,将值返回给用户并将其缓存以供下次使用。
有趣的PHP库为开发人员提供了通过WebSockets在客户端和服务器之间创建实时双向应用程序的工具:http://socketo.me/
据我所知,有几个库可用于构建非阻塞和实时应用程序,如聊天和实时游戏。
您还可以查看ajax推送引擎来进行实时数据流传输(他们声称它可以很好地扩展)。 http://www.ape-project.org/
即使问题很老,我也愿意与大家分享一下。
现在所有主流浏览器都支持WebSockets。因此,创建实时系统的最简单方法是使用WebSockets。但是,PHP默认情况下不支持WebSockets。
但是,有Node.JS可以使任务更容易。我是否需要在Node.JS中重新编程我的网站?没有!我找到了一个更智能的解决方案,它可以帮助您将Node.js与PHP一起用于实时通信。
它是如何工作的?