【百度分享】Web系统与后台Server的socket接口测试(二)解决思路
发布时间:2010-06-14 17:13:37 文章来源:www.iduyao.cn 采编人员:星星草
【百度分享】Web系统与后台Server的socket接口测试(二)
2.1.2 域名还是IP
线上部署的web系统,访问server模块一般是从内网访问的。在配置访问地址时,有时配置成内网域名,有的配置成内网IP地址。
配置为内网域名:【优点】:server服务器的IP调整不会对web发向server的请求造成影响,web不需修改IP地址;
【缺点】:(1)web对server的每次连接建立,都需要经过内网dns的解析,对于实时性和性能要求高的业务功能来说,这样的请求方式效率不如直接配置IP高;
(2)一旦内网dns出现故障或者压力过大,会造成域名解析失败,无法建立连接。(实际上,线上出现这种情况的概率还是不小的。)
【例3】某web系统把连接server的地址设置为域名:web-socket.test.com,在实际测试中发现web发出的请求server有时能接收到有时接收不到。原因是此域名在内网dns解析时有时会超时或解析失败。后修改为IP地址此问题未再出现。【测试检查点:配置的是域名还是IP,域名是否正确,IP是否正确,上线后域名解析是否存在失败较大的失败风险。】
2.1.3 机房因素来自不同运营商网络的用户访问系统,要落在对应的运营商机房,我们的web服务和server服务也是分别在不同的机房部署。所以,在程序实现、在线上部署时,为了保证访问速度,最好是配置同机房的web系统访问同机房的server服务。
【例4】某server模块部署在A机房,而访问此server的web系统在A机房和B机房都有部署。上线后发现在业务高峰期,在B机房的web系统偶尔会出现访问server失败或超时,原因是B机房的web系统访问A机房的server跨机房情况下,延迟比同机房要大一些,在web系统配置相同的超时时间情况下,跨机房请求出现超时的概率就大一些。
修复方式:(1)修改跨机房的web系统或server模块配置项,把超时时间调大(不推荐);(2)尽量保证同机房内访问server。【测试检查点:是否同机房web与server相连;如果不是,是否会存在性能问题。】
2.2 连接建立及关闭Web系统与server服务建立连接时,需要考虑server服务器选择、建立长连接/短连接选择、连接超时时间设定、建立的连接数、是否使用连接池等各种情况,下面就这些情况的测试考虑分别描述。
2.2.1 Server服务器选择一般情况下,提供服务的server程序都会提供多台服务器(只提供一台服务器的情况也就不存在选择不选择的问题了)。Web系统如何在多台服务器中选择连接哪个服务呢?这要分情况来看。
第一,如果server服务是分布式的,那么web系统选择服务器是根据与server模块的功能接口来确定的。常见的选择方式有:取模、哈希等。这里需要注意的是,如果分布式的多台server服务器中有部分服务器出现故障,web服务用怎样的逻辑保证web服务不受影响。根据不同的服务类型,有不同的处理办法。有的情况下web系统抛出异常,有的情况下web系统自动识别无法连接的服务器,对可用服务器进行hash,只与可用服务器建立连接。【测试检查点:取模、哈希结果是否正确,是否能够把请求发送到正确的服务器上;算法结果是否使得请求均匀落在多台server服务器上;如果一台服务器出现错误,容错机制是否满足需求。】
第二,如果server服务是互备式的,那么出于容错和均匀请求考虑,web系统常用如下策略选择server服务器:首先在多台server服务器中随机选择一台建立连接,如果被选中的服务器无法建立连接,则在剩余的服务器中再随机选择一台,如此重复多次。直到在重复次数内选到一台可用server服务器,或者没有选中任何一台可用server服务器。当然,在每次连接过程中都可以控制尝试多次重连。【测试检查点:上述随机轮询机制是否正确;发送多次请求,是否均匀发送到多台server服务器上。】
------解决方案--------------------
周五就是悠闲啊,居然让我抢上沙发了
------解决方案--------------------
语言表述的不清楚。
------解决方案--------------------
太多了 看不明白了
------解决方案--------------------
谢谢,不过看的费劲
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
weblogic10.3部署s2sh项目
我的环境如下
编译运行环境都是jdk1.6,jre1.6
strtuts2.2.1
hibernate3.6.0
spring3.0.5
s2sh项目在tom...
-
大网站的查询使用什么技术
一般大型项目的查询使用什么技术啊?j2ee这块
我使用hibernate-search,这个能用于大型项目吗?
还有就是hib...
-
一个小公司的门户网站服务器的最低配置应该怎么样?需要哪些设备和条件? 请各位专家预估下价格和网站开发成本!
一个小公司的门户网站...
-
关于weblogic线程阻塞问题。
不知道大家有没有遇到类似的问题,
有没有一些解决方案和想法给我。
只要有想法,就给分。
Java code
"E...
-
在服务器端生成一个文件怎么将文件的路径返回给客户端
ssh2中客户端发送一个请求然后在服务器端根据请求内容生成一个文件 怎么将...
-
手机短信发送开发
如果用C#实现手机短信的发送?
比如我有一个网站需要用到手机验证的,那我该如何来给用户发送验证码?我看了网上有人...
-
帮我看看这个异常~不理解为什么报!
严重: Parse error in application web.xml file at jndi:/localhost/WEB-INF/web.xml
java.la...
-
tomcat一天就挂掉
我的项目用tomcat,当天没事,运行一天,到第二天早上就挂了
重启就好了
不知道为什么
------解决方案-------------...
-
网站页面一下能打开,一下打不开
网站页面一下能打开,一下打不开
我不是做广告,www 39wck com
请帮忙加个.看看是怎么回事
我用...
-
如何让别人通过外网访问你电脑上的网站
电脑环境:XP系统,IIS5.1,电信宽带,使用家庭小型路由器,杀毒软件没装,防火墙也关闭(设置里...