php同时从上百个服务器的数据库获取数据并汇总
由于没有多线程,现在我就遍历连接数据库,由于连接次数过多,发生了加载时间过长,并且超时了,没能完整读取数据的情况,求最佳方式或者优化的方式,现在我是用分页来限制连接次数,...
由于没有多线程,现在我就遍历连接数据库,由于连接次数过多,发生了加载时间过长,并且超时了,没能完整读取数据的情况,求最佳方式或者优化的方式,现在我是用分页来限制连接次数,但是我所有数据最后需要求总和,一分页,只有部分数据,就没法求总和了
展开
3个回答
展开全部
PHP要连接上百台或更多台服务器数据库的话,我想你还在是本地写一个数据专门来存放每一台服务器数据库的信息,然后用循环来连接,而每次连接一台服务然后把得到信息存在本地的数据库里,每隔30秒到50秒执行一次。时间长了,本地的数据库中就会有信息了,然后再读本地的数据库来统计
更多追问追答
追问
因为要即时数据,所以直接读的,先存在本地,再读取本地,是可以解决,一下子读取太慢,但是也存在不是即时数据,有没有其他优化的方法呢,要是php没有多线程读的慢,我再考虑先存在本地
追答
你说的即时数据我懂,你想想啊,如果一服务器同时连接100台服务器或是更多的话,如果宽带够的话估计也会让你等一会吧,如果这100台服务器要是有一台因为用户过多或其他的什么原因,一直不返回结果,那你是不是也得等40S到60S吧,如果你要即时数据每次都要牺牲很多宽带在资源上,而还让用户等待,还是可以一次从本地读出然后提醒用户,本数据30分钟或1小时刷新一次好呢?如果就拿100多台的服务器来说的话,每1秒连接一台服务器应该不成问题,也就2分钟左右本地的数据库里的数据就可以刷新。你想想是吧,就是万一其中一台死机了,本地数据库应该是2分钟以前的数据,估计和现在也差不多少吧,统计本来就是大概
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |