>  기사  >  백엔드 개발  >  php跨服务器访问,获取数据非常慢。

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

WBOY
WBOY원래의
2016-06-23 13:34:161420검색

我现在是代码在服务器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明白了。  谢谢大家。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.