我现在是代码在服务器A, 数据库在服务器B 。
从服务器A去访问服务器B,获取数据会非常慢。
如果用服务器A去访问服务器A,速度就正常。
有什么方法可以解决 跨服务器访问获取数据非常慢这个问题?
Destoon B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载千万级别数据容量及访问。 系统特性1、跨平台。支持Linux/Unix/Windows服务器,支持Apache/IIS/Zeus等2、跨浏览器。基于最新Web标准构建,在
回复讨论(解决方案)
用什么方式访问的,贴代码
主要还是两个服务器间网络通道的问题。
用什么方式访问的,贴代码
$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明白了。 谢谢大家。










