我现在是代码在服务器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());
主要还是两个服务器间网络通道的问题。
这个就是网络通道的问题。网络差。
条件允许最好弄在一个机房。
据我了解都是挤一个机房的
ping 一下远程服务器id,看延时大不大
数据库那台机有开反向解析吗?
这是两台服务器的网络通信问题,如果你是请求域名地址,建议直接换成请求ip,减少解析时间
最好数据库和服务器 不要相隔太远吧,如果实在要这么分开吧,可以用下数据库缓存
显然你是用的是 MySQL 数据库(Oracle、 SQL Server)都不会出现zhezhongqingkuang
因为目前的 MySQL 还不支持分布式应用
远程访问数据库时,慢点是正常的。因为网络节点很多,每个节点都会有延时
php 程序应采用长连接方式
最好是在本地做一个数据库镜像
如果频繁读取,你可以对数据读左一层缓存,比如memcache,也能解决部分问题
最好在本地做一个这样的数据镜像。
数据库那台机有开反向解析吗?
3Q明白了。 谢谢大家。