Heim  >  Artikel  >  Backend-Entwicklung  >  php跨服务器访问,获取数据非常慢。

php跨服务器访问,获取数据非常慢。

WBOY
WBOYOriginal
2016-06-23 13:34:161420Durchsuche

我现在是代码在服务器A, 数据库在服务器B 。
从服务器A去访问服务器B,获取数据会非常慢。
如果用服务器A去访问服务器A,速度就正常。
有什么方法可以解决 跨服务器访问获取数据非常慢这个问题?


回复讨论(解决方案)

用什么方式访问的,贴代码

主要还是两个服务器间网络通道的问题。

用什么方式访问的,贴代码


 	$host = '远程服务器ID地址:3306'; 	$root = '用户名';        $pwd = '密码';		$con = @mysql_connect($host,$root,$pwd);	mysql_query("set names 'utf8'");	@mysql_select_db("XS", $con) or die(mysql_error());

这种。

主要还是两个服务器间网络通道的问题。



我这是服务器不是一个机房的。  是两个地区的服务器,有时候从服务器A向服务器B提交数据,比如做个循环查询,有时候只能查询出其中的一部分,不是全部都查询出来。

这个是不是因为跨服务器+跨地区访问的原因。

这个就是网络通道的问题。网络差。
条件允许最好弄在一个机房。

据我了解都是挤一个机房的

ping 一下远程服务器id,看延时大不大

数据库那台机有开反向解析吗?

这是两台服务器的网络通信问题,如果你是请求域名地址,建议直接换成请求ip,减少解析时间

最好数据库和服务器 不要相隔太远吧,如果实在要这么分开吧,可以用下数据库缓存

显然你是用的是 MySQL 数据库(Oracle、 SQL Server)都不会出现zhezhongqingkuang
因为目前的 MySQL 还不支持分布式应用

远程访问数据库时,慢点是正常的。因为网络节点很多,每个节点都会有延时

php 程序应采用长连接方式

最好是在本地做一个数据库镜像

如果频繁读取,你可以对数据读左一层缓存,比如memcache,也能解决部分问题

最好在本地做一个这样的数据镜像。

数据库那台机有开反向解析吗?


关闭了DNS反向解析,会引起其他的问题吗?

3Q明白了。  谢谢大家。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn