发布新日志

  • Windows Server 2003网络负载均衡的实现

    dimang11 发布于 2008-05-15 19:07:05

        在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。
      那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法)。
      一、网络负载平衡的优点
      1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。
      2.网络负载平衡对外只须提供一个IP地址(或域名)。
      3.如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平衡服务器的数量。
      4.网络负载平衡可在普通的计算机上实现。
      在Windows Server 2003中,网络负载平衡的应用程序包括Internet信息服务 (IIS)、ISA Server 2000防火墙与代理服务器、VPN虚拟专用网、终端服务器、Windows Media Services(Windows视频点播、视频广播)等服务。同时,网络负载平衡有助于改善你的服务器性能和可伸缩性,以满足不断增长的基于Internet客户端的需求。
      网络负载平衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。
      下面,我们将在两台安装Windows Server 2003的普通计算机上,介绍网络负载平衡的实现及应用。
      二、网络负载平衡的实现
      这两台计算机中,一台计算机名称为w2003-1,IP地址为202.206.197.190,另一台名为w2003-2,IP地址为202.206.197.191。
      规划网络负载平衡群集使用的IP地址为202.206.197.195,规划网络负载平衡群集完整的计算机名称为cluster.heinfo.edu.cn。你需要在heinfo.edu.cn域中注册此主机名称并将地址设置为202.206.197.195。如果你没有DNS,可以在需要访问网络负载平衡的客户机(包括网络负载平衡主机)上编辑%systemroot%\system32\drivers\etc目录下的hosts文件,添加一条信息“202.206.197.195 cluster.heinfo.edu.cn”,即可解决DNS域名解析的问题。
      当正式应用时,客户机只需要使用cluster.heinfo.edu.cn或IP地址202.206.197.195来访问服务器,网络服务平衡会根据每台服务器的负载情况自动选择202.206.197.190或者202.206.197.191对外提供服务。
      网络负载平衡的实现过程如下:
      在实现网络负载平衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),在网络属性中,“网络负载平衡”也不能被选择,这可以从“网络连接属性”中查看。
      ①先进入第一台计算机,以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“新建群集”,进入“群集参数”界面。
     
      在“IP地址”后面输入规划的群集参数地址202.206.197.195,在子网掩码处使用默认值,在“完整Internet名称”后面输入cluster.heinfo.edu.cn(也可以是其他的名称,但输入的DNS名称必须与输入的IP地址相符)。
      如果允许远程控制,请选中“允许远程控制”,并在“远程密码”和“确认密码”处输入可以进行远程控制的密码。
      ②点击“下一步”按钮,进入群集IP地址页面后再进入“端口规则”界面,点击“下一步”按钮,进入“连接”界面。
     
      ③在“连接”界面的“主机”栏中输入当前计算机的名称w2003-1,然后点击“连接”按钮,将在“对配置一个新的群集可用的接口”框中显示出连接的计算机的网卡及IP地址。选择与群集IP地址同一网段的地址(用于对外提供网络应用的网卡),然后点击“下一步”按钮,进入设置“主机参数”界面,点击“完成”按钮,系统将自动开始网络负载平衡群集的配置。几分钟后,网络负载平衡群集配置完成。
      ④打开第二台计算机,并以管理员的身份登录进入。
      注意:在网络负载平衡中的每个节点上,管理员账号的用户名和密码最好一致。
      ⑤然后,在第一台计算机上,用鼠标右键单击新创建的群集,从出现的菜单中选择“添加主机到群集”。将出现“连接”界面,在“主机”中输入第二台计算机的计算机名称,点击“连接”按钮,将会在“对配置群集可用的接口”下面显示出连接的计算机上的网络配置。选择202.206.197.191的网卡,进入主机参数界面,点击“完成”按钮,即可返回网络负载平衡管理器。
     
      ⑥关闭网络负载平衡管理器后再进入网络负载平衡管理器。用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“连接到现存的”,将会弹出“连接”界面。
      输入第一台计算机的名称,点击“连接”按钮,在“群集”下面将列出群集的IP地址,选择此IP地址,并点击“完成”按钮,连接群集即可完成。
      以后,如果这两台服务器不能满足需求,可以按以上步骤添加第3台、第4台计算机到网络负载平衡中以满足要求。
      三、用IIS服务验证网络负载平衡
      网络负载平衡配置好后,为了实现某项具体的服务,需要在网络负载平衡的计算机上安装相应的服务。例如:为了实现IIS网站的负载平衡,需要在相应的网络负载平衡的计算机上安装IIS服务。
      安装网络负载平衡的应用程序时,不需要特别的方法,只需要在配置好网络负载平衡的计算机上安装相应的服务即可。但是为了让每个用户在通过网络负载平衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载平衡的每台计算机上保持数据的一致性。举例来说:实现了两个节点的IIS的网络负载平衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
      为了检验网络负载平衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用相类似。
      在网络负载平衡的每一台计算机上安装IIS服务,方法如下:
      在“添加/删除程序”中,点击“添加Windows组件”,进入Windows组件向导,双击“应用程序服务器”,进入“应用程序服务器”。
     
      选中ASP.NET、Internet信息服务及应用网络COM+访问后,即可开始安装IIS服务。
      安装之后,进入第一台计算机的inetpub\wwwroot目录,新建一个文本文件,输入以下内容:
      <html>
      This win2003-1
      </html>
      然后将它保存为default.htm文件。这个网页在IE中将显示如下内容:
      This w2003-1
      在第二台计算机的inetpub\wwwroot目录,新建一个文本文件,并输入下面的内容:
      <html>
      This win2003-2
      </html>
      这个网页在IE浏览器中将显示“This w2003-2”,随后将这个文件以default.htm名称保存。
      然后,在其他计算机上的IE浏览器中键入http://cluster.heinfo.edu.cn,将会显示为“This win2003-1”或“This win2003-2”,根据网络的负载,网络负载平衡会自动转发到第一台计算机或第二台计算机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们只是测试的时候,为了验证网络负载平衡的效果,两个网站的内容不一致,而在正式应用的时候,网络负载平衡群集的每个节点计算机的内容将是一致的,这样,不管使用那一个节点响应,都保证访问的内容是一致的。
    本文转摘自『金电网』http://www.jdxz.net/articleinfo/article_1732_1.html
  • Web测试总结

    MichelleZ 发布于 2008-10-16 15:42:35

    一.功能测试

    1.链接测试:3点必须在集成测试阶段完成

    2. 表单测试:用户提交信息,我们必须测试提交操作的完整性,以及验校提交给服务器的信息的正确性

    3.  Cookies测试:用来存储用户信息和用户在某应用系统的操作容,cookies是否起作用,胆否按预定时间进行保存刷新对cookies有什么影响

    4.设计放言测试:web设计语言版本的差异

    5.  数据库测试:(提供空间)关系型数据库,可以sql处理。两种错误,数据一致性错误;用户提交表单输出错误,网速和程序设计错误

    二.性能测试

    1.  连接速度测试

    2.  负载测试:负载级别可以是某一时刻同时访问web系统的用户数量,也可以是在线数据处理数量

    3.  压力测试:简单来说就是测试web应用系统会不会崩溃,在什么情况下崩溃

    三.可用性测试

    1.  导航测试:是否基于导航,导航是否直观?web系统的主部分是否可通过主页存取?web系统是否需要站点灶图,搜索引擎或其他的导航帮助。另一方面:页面结构、导航、菜单、连接的风格是否一致

    2.  图形测试:1)图片尺寸大小,能清楚描述,一般都链接到某个具体页面。2)风格一致?3)背景、字体、前景的搭配?4)大小、数量、jpggif压缩

    3.  内容测试:正确性、准确性、相关性

    4.  整体界面测试:一般都用问卷调查方式,用户参与

    四.客户端兼容性测试:

    1.平台测试os

    2.浏览器测试

    五.安全性测试:

    1.测试有效和无效的用户名,密码。大小是否敏感,可以试多少次的限制是否不登录而直接浏览某个页面

    2.是否有超时限制

    3.测试相关信息是否写进了日志文件,是否可追踪

    4.加密是否正确,检查信息的完整性

    5.由于脚本安全漏洞,测试没有经过授权,就不能在服务器端放置和编辑脚本的问题

  • 针对Google面试题的答案

    shen1936 发布于 2008-05-20 10:19:46

    一辆学校班车里面能装多少个高尔夫球?
    你被缩小到只有硬币厚度那么点高(不是压扁,是按比例缩小),然后被扔到一个空的玻璃搅拌器中,搅拌刀片一分钟后就开始转动。你怎么办?
    要是让你清洗整个西雅图的所有窗子,你会收取多少费用?
    怎么才能识别出电脑的内存堆栈是向上溢出还是向下溢出?
    你要向你8岁的侄子解释什么是数据库,请用三句话完成。
    时钟的指针一天内会重合几次?
    你需要从A地去B地,但你不知道能不能到,这时该怎么办?
    好比你有一个衣橱,里面塞满了各种衬衫,你会怎么整理这些衬衫,好让你以后找衬衫的时候容易些?
    有个小镇有100对夫妇,每个丈夫都在欺骗他的妻子。妻子们都无法识破自己丈夫的谎言,但是她们却能知道其他任何一个男人是否在撒谎。镇上的法律规定不准通奸,妻子一旦证明丈夫不忠就应该立刻杀死他,镇上所有妇女都必须严格遵守这项法律。有一天,镇上的女王宣布,至少有一个丈夫是不忠的。这是怎么发生的呢?
    在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止。这样的国家,男女比例会是多少?
    如果在高速公路上30分钟内到一辆车开过的几率是0.95,那么在10分钟内看到一辆车开过的几率是多少 (假设为常概率条件下)
    如果你看到钟的时间是3:15,那一刻时针和分针的夹角是多少?(肯定不是0度!)
    4 个人晚上要穿过一座索桥回到他们的营地。可惜他们手上只有一支只能再坚持17分钟的手电筒。通过索桥必须要拿着手电,而且索桥每次只能撑得起两个人的份量。这四个人过索桥的速度都不一样,第一个走过索桥需要1分钟,第二个2分钟,第三个5分钟,最慢的那个要10分钟。他们怎样才能在17分钟内全部走过索桥?
    你和朋友参加聚会,包括你们两人在内一共有10个人在场。你朋友想跟你打赌,说这里每有一个人生日和你相同,你就给他1元,每有一个人生日和你不同,他给你2元。你会接受么?
    全世界有多少个钢琴调音师?
    你有8个一样大小的球,其中7个的重量是一样的,另一个比较重。怎样能够用天平仅称两次将那个重一些的球找出来。
    有5个海盗,按照等级从5到1排列。最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?(提示:有一个海盗能拿到98%的金币)

     

    1、能装一班车那么多的高尔夫球
      2、在搅拌器底部睡觉,搅不到
      3、整个西雅图的面积,以每平方10美元的价钱收取
      4、堆栈只向上溢出,请回去多学习
      5、就象一个智能的玩具箱,所有玩具都放在里面很整齐,当想玩哪个时只要喊一声它就会自己从箱里跑出来
      6、24
      7、上GOOGLE地图查一下
      8、按衬衫的用途分类,每种类放一个抽屉,然后列出一个索引
      9、有人和女王XXOO了,女王不属于那100个里面的
      10、2:1.5
      11、0.317
      12、1-29度
      13、首先1(分钟的)和2过去,1回来[花费3分钟]
      把手电给5和10过去,过去后2负责把手电拿回来[花费12分钟]
      然后1和2一起过去[花费2分钟]
      加起来刚好17分钟
      14、不接受,假设10人里每三个人里面有两个是相同,有一个不同时,收益打和,而最后肯定有一个是相同的,就是自己
      15、等于全世界被不一样的手法调整过的钢琴数量
      16、先取出6个球,每边放3个;假如一样重,则在剩余的3个中再拿2个,哪边重哪个就是重球,假如也一样重,则剩下的为重球;假如每边3个时不一样重,则在重那边的3个中抽2个,重复上面第二步
      17、97,0,1,0,2(老掉牙的题目,98%不可能,因为剩下4个人时4号或5号也能拿到1个,所以要给他们其中一个多一份才能满足他)

     

  • 微软软件测试的可借鉴之处

    shen1936 发布于 2008-05-21 15:10:50

    开头语:
           
    测试很久了,一直为一些问题所困扰,也一直对微软有一种顶礼膜拜的向往,终于有一天,近距离的接触了微软的测试,感觉不是以前想象中那么遥不可及,却又难以企及。于是把个人觉得微软值得借鉴的地方整理了一下,希望能对大家有所帮助。

    1 测试流程
           
    首先说说测试流程,微软的测试流程也没什么新的东西,和大多数的测试流程一样。
           
    大致是先进行测试准备,然后是Testcase的编写,然后是白盒测试(不一定每个项目都有),然后是功能测试阶段,然后是验收测试,最终release
           
    如果看流程的话,和一般公司大同小异,没什么新花样。但是我觉得值得借鉴的是两点。
    第一, 微软的流程执行的非常认真。
           
    这点非常值得提倡,我们都知道,测试的最终质量决定于测试流程和测试人员素质,要想测试质量有保证,要么是流程很完善,要么你流程不行,但是个人能力超强。如果有一个很好的流程,就算执行的人稍微差点,最终的质量也不会差到哪里去。所以流程是很重要的。
           
    但是,看国内的公司欠缺的就是这个,要么是没有流程,要么流程是个花架子,没认真执行过。我想微软的测试人都是超级牛人,但是人家还是老老实实的忠实按照流程来走,我觉得这点非常好。(在IBM 也是这样,笔者以前在IBM作项目的时候,发现他们的文档写的特认真,流程特认真),所以说忠实的执行一个好的流程是成功的一大半。
    第二, 在整个流程中,微软非常强调测试尽早介入。

            微软在这方面是一致提倡的,按照我们国内IT业的恶习,一般都是软件主体差不多成型了,拉几个测试人员过来点点,其实这是非常不好的。微软的测试人员在项目一开始就和开发人员同步介入,在需求阶段就开始介入,进行需求评审。在开发人员开始编码的时候,测试人员就开始编写Test case,并开发一些测试工具,或者写一些配套的测试代码(不要奇怪,微软的测试人员都能写很好的代码)。微软的理念就是:预防bug比解决bug好,所以非常提倡测试尽早介入,把一部分bug消灭在需求阶段。

    2 自动化流程
           
    说到自动化,大家可能以为我是说微软的自动化测试工具多牛,其实微软内部用到的自动化测试工具倒是不多,就算有也都是内部开发的,非常实用的,他们不会去用MI的工具。
           
    说微软的自动化程度高,主要是体现在流程方面,譬如说整个自动构建流程,在开发人员代码check in之后,系统自动发邮件,邮件内容就是一个change list,包括代码更新list以及一个编译者添加的comment,其内容是该版本功能的变化或者修改掉的bug ID。整个测试过程中能用自动化的地方都尽可能采用自动化,尽可能减少人为失误,并且可以使人和机器并行工作。个人觉得,这点很值得我们国内的测试公司借鉴,能自动化的流程都自动化,减少一些不必要的沟通。

    3 质量控制机制
           
    说到质量控制是个大问题,需要整个团队和流程提高素质。那么微软的质量控制可以借鉴的是什么呢?是他们的机制。在微软的测试流程当中,在开发的早期,项目中所有的问题都是Dev leaderPM商量说了算(当然也要参考需求方的意见),但是到后期,具体就是功能测试之后,项目的主动权都在测试这边,某个bug的要不要解决,或者项目进度控制都是测试leader说了算。这和国内的大多数软件公司是不一样的,在微软,测试人员要对最终的软件质量负责任,但是也有相应的权利来约束开发人员。当然,他们也肯定有一些bug是产生争议的,这个时候的仲裁机制就是PM,这个不是我们传统的PMProject manager),而是一种具有微软特色的PM(全称是Program manager)。这样,测试人员在对一些争议bug的处理上有相当的话语权。
    4
     测试用例及管理
           
    微软的测试用例倒没什么特别的,不过看过他们用例之后,还是觉得写的详细,认真,但是又不冗长拖沓,这个需要很高深的水平。另外,微软的测试用例管理用的是微软自己开发的用例管理工具。
           
    另外值得说明的是,微软的每个用例都进行了分级,并且功能所在的模块都标的很清楚。
    5
     效率
           
    在效率方面,微软的测试效率非常高!高的让人惊叹,我问一个在微软工作的哥们,你们那边测试的最大特点是什么,他说最大特点是快!,就是效率很高,具体就是在测试后期过程中测试和开发之间的反馈非常快,开发修改一定量的bug,提交一个新的版本。测试人员往往能在很快的时间内把测试结果反馈出来,一般是在1天之内就能把用例快速run一遍,这样就能减少某些后期才发现bug导致的项目delay。在国内很多项目的通病是,开发解决问题带进一个新问题,测试人员整个遍历一遍用例之后才能发现,这样来回反复就消耗了大量的时间。
           
    但微软是如何才能实现快速反馈呢?
           
    第一, 测试人员对程序的了解,微软的测试人员对程序内部结构都非常熟悉,修改某一个地方,可能引起什么问题,哪些用例需要重新测试,测试人员非常清楚,能快速的执行最可能出错的地方。如果某些模块不熟悉,那么他们会和开发人员在一起沟通这次修改可能引起的问题。
           
    第二, 工具!还是工具,在微软的测试中,测试人员用各种工具帮助测试,提高测试效率是占到很大的比重。
           
    第三, 时间意识。微软的测试人员有强烈的时间意识。
    6
     测试工具
           
    测试工具能很大程度上提高测试效率,这个作为测试人员都很清楚。当然测试工具在微软的测试中也应用非常广泛,但是请注意,微软并不是像我们国内的公司一样使用的都是LRQTP这类的录制回放工具,反而这种工具倒是用的不多,就跟微软不屑CMM一样,可能是不想屈尊自己IT老大的身份吧。
           
    但是微软的测试工具最大的特点是实用。他们用的测试工具都是确实能提高效率,确实能办事情的工具,都不是类似WRQTP的很大很系统的工具,而是比较小的,很灵活,实用的小工具(譬如:FiddlerDriphttpwatchIE DevToolBarPaintNotNetprocexp etc.)。甚至有一些测试工具是测试人员在开发人员协助下根据项目需要临时开发的,不过大多数工具都是微软内部已经共享出来的,在微软内部各种各样的小工具特别多。
           
    总体给我的感觉是,不是为了用测试工具而用,而是根据实际的需要,确实能提高效率而用到,在用的过程中确实也很大的提高了效率。
    7
     测试人员的专业素质
           
    微软测试给我印象最深刻的还有他们测试人员的专业水准,在测试过程中,测试人员在一些技术上并不逊色于开发人员,在一些bug的处理上,能提出很多合理的很有建设性的建议。
    8
     微软的白盒测试
           
    微软的白盒测试怎么执行呢?让我略微有点吃惊的是,微软的一半测试人员基本不做白盒测试,除非有些不能做黑盒的模块,另外也不是所有的产品都作白盒测试。
    微软的白盒测试一般还是由专门的白盒测试人员来做,但是开发人员要对测试人员的白盒测试代码进行Review,另外微软对开发人员的代码,效率也都有一套详细的考核机制,所以开发人员对自己的代码也是非常负责任的,都进行很认真的进行测试。
    9
     意识(时间,质量)
           
    另外微软的测试还有很好的一点就是意识,时间和质量的意识都是非常强。在控制时间成本上,意识非常强,这点非常值得我们国内同仁学习,另外,风险管理的机制和意识都是非常好。在微软,项目组的每个成员都被明确告知,如果这个项目每delay一天,就会损失多少个million的美元,所以整个项目组都有比较好的时间意识。
    另外,在微软,项目组人员的质量意识都是比较强的。怎么样更好服务用户,让用户体验更好,怎么样更好的改进,这种意识比较强。
    10
     微软的培训
           
    在微软内部,员工外训的机会比较少,大多都是内部互训,各人培训自己的强项,有比较好的互相分享的习惯。另外微软的内部有非常丰富的各种培训文档。以后我会上传上去和大家分享。

    11 测试数据记录
           
    微软的测试数据记录是非常全的,也都是系统自动的,每天都是由系统自动统计当天的bug情况,然后发送一个report到每个项目组成员的邮箱里。最后到测试总结的时候,这些测试数据将变得非常有用。

    编后感:
           
    在深入了解微软的测试之前,对微软这个IT业界巨无霸的测试感觉是顶礼膜拜,高不可攀,总觉得可能很神秘,用很牛的技术或者很高深的手段。深入了解之后,发现微软的测试也是和我们做一样的事情,只不过人家做的更认真,更细,更实用,更有效率。再回过头来看时,微软的测试给我留下印象最多的是,流程,效率,意识,工具,素质!也就是这几项,成为我们国内IT企业亟需跨越的。

     

我的存档

数据统计

  • 访问量: 963
  • 建立时间: 2008-05-21
  • 更新时间: 2008-05-21

RSS订阅

Open Toolbar