所以我正在制作聊天应用。我每隔0.5秒使用ajax检查数据库中的新条目(消息)。如果有则显示消息。问服务器太过分了吗?我使用廉价的共享托管服务。根据我迄今为止的经验,一半的时间信息是快速和平滑的,另一次,特别是在高峰时间,消息消失,ajax请求失败了一半时间。有时甚至连接到数据库本身都会失败。我想知道它是否从服务器或我的服务器请求太多我应该考虑改变。 (或两者兼有)
答案 0 :(得分:0)
你有两种简单的方法,
首先,使用一些缓存机制(如Redis缓存来保存每个用户聊天的最后状态和最后收到的消息ID,日期以消除每次请求检查db。
第二种方法是使用Web-Socket而不是客户端来处理服务器请求。在此方法中,您在客户端和服务器之间建立连接,然后在收到新消息后直接将消息推送到客户端。
如果您想在没有任何外部工具的情况下解决问题,我向您提供的第二种方式。
答案 1 :(得分:0)
在这种情况下,我可能会建议使用Web Sockets,看起来它适合您的用例。
话虽如此,如果您希望您的网站在更大的负载下保持高效,我会考虑从共享帐户升级您的主机。再次真正取决于您想要满足的用户数量。