我有一个拍卖网站,有时会变得很重载&大多数mysql被认为消耗大量内存& cpu。我的情况如下。优化Ajax以减少mysql服务器负载
ajax查询将会每秒钟为每个在线&用户查看拍卖,以检查出价计数与以前的值。如果有人投标,计数是不同的,所以这个Ajax调用一个更多的Ajax检索记录&显示在一个表中的出价是特定于正在观看/登录的用户。我将此限制为前10个以减少加载。
然而,问题是,如果有50个用户在线,&其中一个地方的投标,50查询进入MySQL的&所有这些检测投标计数已经改变&发出进一步的查询来获得记录显示对应的竞价每个用户。
更大的问题是,如果有500个用户在线然后500个查询进入MySQL来检测变化&如果出价放置在另一个500个查询(查询具体到每个在线用户)进入MySQL的&可能导致服务器崩溃。
注:目前使用的PHP,负责执行查询,检索记录单一个MySQL连接对象等
我基本上是看着这里500询问唐”的解决方案如果有500个用户在线,那么他们就会转到mysql,但即使他们中的一个对某个特定的拍卖进行了出价,他们也应该得到更新。任何想法/建议都非常受欢迎。
我该如何最好地实现这个方案的解决方案,以减轻mysql的负载?
资源明智,我们相当不错,在HostGator上做VPS4。唯一的问题是当许多用户投标时,CPU /内存使用率为95%。
欣赏喜欢,你会想看看的memcached或其他一些缓存服务的一些建议
只有一个词:缓存 – zerkms
如果你能有一个长期运行的进程,那么它可以查找并缓存每一秒,所以你不必回到MySQL一路值。我不知道如何在PHP中做到这一点。 –