发布新日志

  • 云计算 要以规避风险为前提

    2013-03-20 11:34:11

    2013年最热门的词汇是什么?云计算、大数据、物联网、BYOD……,面对日新月异的互联网带给我们的社会新变革,我们一方面期待它的纵深发展,但另一方面又在越来越严峻的数据安全挑战面前显得局促不安。

      大数据时代的到来使得云计算方兴未艾,但云计算的安全威胁却一直存在,进一步的发展要以规避风险为前提,否则数据丢失、泄漏、技术漏洞等不安全因素带给用户的,除了云计算的便捷、高效,安全威胁的隐患也将如影随形。

      云安全联盟(CSA)近日对2013年云计算的一些威胁进行了排名,新的威胁因素名单出炉,保卫数据安全的重任仍任重道远。以下是2013年几个最严重的云计算安全威胁因素。

      1. 数据泄露:数据泄露其实每天都在发生,但云计算加重了这种威胁。一个设计不当的多租户云服务数据库将使攻击者不仅仅进入一个帐户,而且会进入每一个与该服务相关的其他帐户。

      2. 数据丢失:设备被损坏、意外删除、天灾不可抗力等都会造成永久性的数据丢失,除非供应商提供备份。如果一个企业的数据在上传到云之前就行加密,他们就能更好地保护加密密钥或数据。

      3. 账户或服务流量劫持:黑客通过网络钓鱼、欺诈或利用软件漏洞来劫持无辜的用户。通常黑客根据一个密码就可以窃取用户多个服务中的资料,因为用户不会为每个服务设立一个不一样的密码。对于供应商,如果被盗的密码可以登陆云,那么用户的数据将被窃听、篡改,黑客将向用户返回虚假信息,或重定向用户的服务到欺诈网站。对用户将可能造成严重的损失。

      4. 拒绝服务:剥夺用户访问他们的资源和数据,并造成延迟是破坏一个云服务的一个攻击方法,可能意味着在线服务的死亡。其他形式的攻击,如非对称应用级的DoS攻击,在不消耗大量的资源的情况下就可利用弱点将Web服务器、数据库和其他云资源作为目标。

      5. 恶意的内部人员:恶意的内部人员风险是每个组织必须考虑的方面。这种情况不一定发生,但当它发生时,它造成的伤害就会很大。鹏宇成安全专家表示,完全依赖于云服务提供商的安全系统,是最大的风险。

      以上列举了云计算威胁中最常见、危险性最大的几个方面。这并不意味着云计算的应用是一种灾难,而是希望用户警惕这些隐患,更好地保护企业和自身的信息安全。云计算有着诸多方面的优势,降低成本、提高效率,但如果数据安全的防护把关不严、措施不到位,势必将产生这些潜藏的风险。

      因此,云计算发展是大势所趋,但前提数据安全是关键,如何把好安全关,降低信息安全风险,便成为了云计算进一步发展,提高效能的重要一环。

      保护数据安全,加密软件自然是必不可少的,利用加密软件保护数据信息本源,对于规避数据泄漏、丢失、员工恶意窃取、黑客攻击等风险,起着不可替代的作用。

      前面提到了云计算的安全威胁中,数据安全仍然是最重要的。如果我们在重要的数据上传到云服务器之前就用加密软件进行保护的话,相当于为没有任何防护的敏感数据穿上了一层保护衣,即使黑客通过其他账户爬行到该数据库中,也因得到的是加密数据而没有任何利用价值;

      对于恶意内部人员的数据盗窃,加密的数据如果被带出企业环境仍是保持加密状态,无法被打开的,这样一来,就使数据本身有了免疫力,面对来自内部或外部的恶意威胁时,也不会处于“裸奔”状态。这样也同时为数据的追回、修复提供了条件。

      说了这么多,加密软件之所以能起到这样的安全效果是因为它是通过某种加密算法改变原始数据的内容,任何人未经授权都无法获取真实信息,否则得到的也是一些乱码。

      上述分析中我们可以得出,利用加密软件建立有效的数据安全防护体系是云计算深入发展的关键。

      加密软件虽然能够帮助用户在一定程度上规避隐患,但安全审查、共享技术方面的工作也是至关重要的。云服务的大众化容易导致不法分子入侵,所以要加强身份审查,技术漏洞风险评估,加强运营责任的落实到位等等,都是为我们营造一个安全便捷的云时代所增添的重要推动力。

  • 关于IaaS的四个误解和四个猜想

    2013-03-20 11:32:37

    真实的云计算什么样?  云计算对普通用户来说,总是一个云里雾里的话题。本文从最基础的概念开始科普,说明了四个常见的错误理解,和作者的四个猜想。

      季昕华,前盛大云CEO、Ucloud.cn创始人

      IaaS(Infrastructure as a Service),指基础设施即服务,消费者通过Internet可以从完善的计算机基础设施获得服务。基于Internet的服务(如存储和数据库)是IaaS的一部分。Internet上其他类型的服务包括平台即服务(Platform. as a Service,PaaS)和软件即服务(Software as a Service,SaaS)。PaaS提供了用户可以访问的完整或部分的应用程序开发,SaaS则提供了完整的可直接使用的应用程序,比如通过Internet管理企业资源。

      误解一:IaaS就是卖资源

      现在流行的一个观点:IaaS就是卖资源,传统IDC是卖带宽和机架,云计算加上服务器,最多就是把这些资源通过虚拟化技术拆成散了零卖。

      在我们看来,云计算分为3个层次:

      1、 资源层:这是IaaS提供服务的物理基础,主要包括计算资源、存储资源和网络资源,以及必要的电力资源、IP资源等。这一层主要通过规模采购和资源复用的模式来赚钱利润,利润不高。

      2、 产品层:这是IaaS的核心,IaaS运营商根据客户的各种不同需求,在资源层的基础上,开发出各种各样的产品。比如存储产品、消息产品、CDN(内容分发网络)产品、监控产品,而每一种产品又会根据场景和需求的不一样,做针对性的改造优化,形成特定类型的产品。产品层是不同IaaS的竞争力体现之处,这些产品在不同角度满足了用户的不同需求。这些产品是IaaS利润的主要来源,也是IaaS的重要黏性。像国内的阿里云就提供了云服务器和负载均衡、云监控等产品,Ucloud提供了块设备存储的UDisk、云数据库的UDB等产品。

      3、 服务层:在产品层之上,IaaS运营商还会根据用户的需求提供一些更多的增值服务,这部分从商业角度不一定赚钱,但却是用户使用IaaS的重要条件。比如为用户提供数据快递服务,在中国则必须包含网站备案服务,还有安全服务等等。

      误解二:IaaS没有什么技术含量

      在各种媒体的宣传把云计算神话了,认为云计算无所不能,把云计算的技术看的很高端,技术含量特别特别高。而不少从事过技术的人呢,则认为云计算没有什么技术含量,已经有类似Openstack、Eucalyptus、cloudstack等不少开源系统可以直接部署使用,

      或者基于KVM、XEN等开源虚拟化系统上做一套管理系统。

      的确,随着云计算的快速发展,已经涌现出一大批开源的云计算平台,各大公司也都在积极支持开源软件的发展。但是即使发展快如Openstack,目前也没有很成熟的成功案例,因为IaaS的技术复杂度很高。

      1、从基础上看,IaaS要实现多租户,弹性,稳定可靠和安全,必须要进行资源的池化管理,也就是把资源通过虚拟化技术形成资源池,然后根据用户的需求弹性分配,同时确保安全和隔离。之前提到资源主要包括计算、存储和网络,因此这里要做计算的虚拟化、存储的虚拟化和网络的虚拟化。

      计算的虚拟化目前主要是通过XEN、KVM、Vmware等软件实现,相对比较成熟,但是在性能优化、稳定性方面还有很多工作需要完善。

      存储的虚拟化目前还没有一个比较成熟的开源系统,如果文件型存储,则主要根据GFS的思路进行编码实现,必然Openstack的swift,而块设备存储则各显神通了,有nova-volume,国内盛大云、UCloud都各自实现了块设备存储。另外最近国际上非常流行的是SDS(软件定义存储),实际上也是实现了存储的虚拟化。

      2、在虚拟化管理之上,是大规模的调度管理,如何能快速找到合适的资源满足用户的需求,如何能根据监测的数据,动态调整资源,如何能动态迁移业务,如何防止雪崩。如果是10台机器,这可能很容易,如果是1000台机器,这是一个问题,如果是10000台以上的机器,那就是个大挑战了。而云计算,要实现解决规模化的能力,就必须解决大规模的调度问题。这里的难度和挑战相当的大。

      3、性能和安全问题同样也是IaaS的挑战,如何确保一个用户的高需求不影响其他用户,如何防范一个租户入侵其他租户,如何防止一个用户被攻击不影响其他用户,这里需要我们更加深入的研究。

      更多的产品研发,如上所说,IaaS除了资源之外,更关键的是产品,必须根据用户的需求研发出更多满足特定需求的产品。这就会涉及到系统、网络、数据库、应用和安全的方方面面,对IaaS开发和运维的要求都非常高。

      综上所述,IaaS的技术门槛是比较高的,并不是没有技术含量。

      误解三:IaaS是不安全的

      业界都在质疑云计算的安全性,特别是Evernote的安全事故让更多人担心IaaS的安全问题。

      以我十多年的安全从业经验来看:

      1、 没有绝对的安全,任何系统都有可能会被入侵;

      2、 安全是相对的,关键要看IaaS模式下和传统托管模式下哪种更安全。因此假设一个公司规模很大,有专业的安全团队,比如腾讯、阿里、百度等公司,则肯定他们自己部署会安全很多,但是如果假设是一个小的创业公司,不可能有很专业的安全人员,IaaS的服务提供商则可以更专业的提供安全保障。

    误解四:公有云只能服务中小企业

      由于大企业对稳定性的追求,以及对旧有投资的保护,的确公有云的用户大部分都是从小企业开始的。目前不管是国内还是国外,中小企业还是云计算的主要用户。

      但是随着云计算的发展,我们也发现了几个趋势:

      1、一些在公有云上成长起来的公司,长成大型企业后也依然在使用公有云,比如Netflex,因为他们发现如果自己要建立基础架构所需要的人力物力依然很大,困难依旧很多,还不如将精力投入在他们自己擅长的领域内。

      2、传统的一些大公司,他们也逐步开始尝试将一些非核心业务或者新业务部署在公有云上,甚至将IT部门裁员,全部转移到公有云平台。比如兰博基尼、宝马等汽车公司,他们已经借助云计算来降低成本,借助云计算提高他们的设计渲染能力。

      其实从电力发展的情况来看也是这样的,在现代这样的社会,我们很少看到有企业会自己建立发电厂,而不使用电网。相信随着云计算的发展,云计算取代IDC或者取代自己运营也是必然的趋势。

      四个猜想:

      一、IaaS增长快速

      IaaS公共云服务将是增长最快的公共云服务类别。预计全球2013年IaaS的市场规模将达到80亿美元,其中AWS(amazon web services,亚马逊公有云服务)预计能达到25-28亿美元,Rackspace收入16-19亿左右,IaaS占35%,超过6亿美元,而被Verizon收购的Terremark收入将超过4.5亿以上,另外像Joyent,Savvis,GoGrid,Dimension Data等公司都会有一定的收入增长。

      相比全球,中国的IaaS市场基数小,但增长速度更快,预计13年中国纯粹IaaS市场规模将会超过1亿美元,并逐步形成3-4家规模比较大的IaaS运营商。

      二、大中型企业将开始接受云计算

      正如上面所说,大中型企业已经开始尝试将一些非核心业务部署在公有云上。从AWS的客户列表中,我们可以看到财富500强企业或多或少都在使用亚马逊的公有云进行测试或者开发,其中有些公司在上面运行真正的应用,比如纳斯达克,兰博基尼等公司。

      这种变化将会对传统的IT厂商,IBM、HP、Oracle产生很大的威胁,因为传统大中型企业是这些IT厂商的大客户。

      而从AWS的发展来看,这也必然是云计算公司的发展目标,我相信在未来的3-5年内,云计算将会开始蚕食传统IT厂商的市场,而2013年就是一个开始。

      三、SDX技术(软件定义一切)将会快速发展

      传统的硬件厂商采用卖盒子的模式,设备是不开放,无法动态管理的,因此造成了很大的浪费和管理成本。

      而软件定义的思想(Software Defined Everything)将黑盒子开放出来,使得数据和控制分开,能够更灵活的管理和调度,会成为后续发展的主流。

      2013年的开始,我们就看到了软件定义存储(Software Defined Storage),软件定义网络(Software Defined Network),软件定义数据中心(Software Defined Datacenter)等一系列大的投资和收购行为。

      我预计在2013年,SDS、SDN的产品和方案将会开始落地,相关的技术将会快速发展。

      四、云计算改变相关产业链

      随着云计算技术的发展,特别是应用的不断落地,云计算已经在很多行业发生了影响和变革,主要包括:

      1、创业者:云计算极大地降低了创业者的基础设施门槛,使得创业者只需要关注他们的核心优势,发挥他们的核心优势。这对于一些原来不从事互联网的团队非常方便利用互联网创业,将会催生很多内容型、O2O型的创业公司。特别是2013年,国家降低注册公司的门槛后,越来越多的创业公司将会成批出现。

      2、投资行业:由于云计算降低了一次性的服务器网络投入,使得创业者对天使的资金需求降低,可以很迅速的开发产品试水。如果产品好,则利用云计算可以快速成长,如果产品不好,则可以马上转行。因此投资的模式从传统的天使转向超天使,甚至可能不需要A轮,业务发展好就可以直接进入B轮。

      3、服务器产业:传统模式下,服务器通过渠道销售给中小企业,渠道会是其中很重要的一环。在云计算模式下,中小企业将不用采购服务器。因此IaaS运营商将取代中小企业成为服务器的采购者,这对传统的服务器厂商和渠道产生较大的影响。

  • 云计算时代兴起 是否意味“光进铜退”?

    2013-03-20 11:31:04

    在电气和电子工程师协会(IEEE)802.3的全体会议上,IEEE批准了新一代BASE-T兴趣征集请求(CFI)。新一代BASE-T将步入标准开发的研究小组阶段,研发的未来方向是平衡双绞线铜缆布线上达到至少40G甚至100G以太网速度(GbE),此次获准是标准开发进程的第一个重要里程碑。

      为什么CFI如此重要呢?获得CFI批准意味着双绞线铜缆上的更高速以太网技术发展可以获得广泛行业支持,铜缆将支持更高速度的传输。可预测,铜缆布线在行业内将获得更大应用,光进铜并不退,“光进铜退”何时了?

      开启40/100GbE双绞线铜缆布线的技术新征程

      在电气和电子工程师协会(IEEE)802.3的全体会议上,IEEE批准了新一代BASE-T兴趣征集请求(CFI)。新一代 BASE-T将步入标准开发的研究小组阶段,研发的未来方向是平衡双绞线铜缆布线上达到至少40G甚至100G以太网速度(GbE),此次获准是标准开发进程的第一个重要里程碑。

      40/100GbE发展态势良好,但是有一点除外——平衡双绞铜缆的40/100GbE的标准还未定义,虽然有很多综合布线厂家都对铜缆40/100G传输做了很多研究工作,而且平衡双绞线铜缆布线上的指定以太网标准的最高速度为10G,主流的六类、超六类满足不了40G/100G 以太网大容量的数据传输要求,铜缆布线后继优势明显不足!

      但是,双绞线铜缆在全球拥有最大的安装量,尤其在楼宇布线中前期投入成本更低的铜缆双绞线布线系统占有绝对的优势,根据布线联盟网提供的调查数据显示,2011年铜缆布线系统在整个布线市场占有的份额仍然达到80%,来自GIM市场报告也说明了铜缆布线系统在布线市场上的绝对优势地位。

      在数据中心综合布线这块,比较受关注的10GBASE-T的发展态势日益迅猛,市场渗透率持续提高。过去六年中,当 10GBASE-T逐渐成为人们热议的话题时,它仅仅取得了小幅发展;

      但是,当前市场的变化使得用户对这种技术寄予了更大期望。因而CFI获得批准意味着双绞线铜缆上的更高速以太网技术发展可以获得广泛行业支持,对综合布线来说将会绝对是利好消息。

      在全球数据通信量的大幅度增长的背景下,数据中心建设则倾向于云计算的方向发展,而云计算数据中心将更多采用基于光纤传输的 10G,甚至40G/100G等高速网络应用,同时虚拟化技术的应用也对网络传输提出了更高的要求,给光纤系统的应用带来了新的机会,铜缆似乎要推出历史舞台。新一代BASE-T兴趣征集请求(CFI)获得IEEE批准,对于行业内一直存在的声音“铜缆布线还能走多远?”给了有力回应,铜缆布线未来将获得更大发展。

      铜缆VS光纤,何时了?

      从上世纪80年代末出现的10兆以太网,到如前大行其市的万兆以太网,网络传输带宽以每5年10倍的速度飞速向前奔跑。目前,光纤和铜缆作为信息数据传输的重要物质载体,由于性能不同,二者的使用范围也有所侧重,大体上呈现出齐头并进的态势。

      随着技术的发展,光纤的性能优势日益明显但价格依然偏高,能否威胁到铜缆在布线系统的主导地位?万兆铜缆爆发应用,光纤代替铜缆成为综合布线的发展趋势如何?智能管理、高密度、绿色环保、走线方式、可扩展性等对光纤或铜缆布线又提出了哪些要求?

      步入万兆时代,铜缆担大任

      步入万兆时代,万兆铜缆布线以其价格便宜、兼容性好、施工简便等优点,逐渐成为了综合布线的主流,在2012年中国国际建筑智能化峰会上,国内外综合布线厂家都提到,大数据时代将会给万兆传输普及带来强劲动力,满足数据传输需求、升级各类数据中心给布线行业带来商机。

      万兆以太网的接口有多种,通常将其统称为10GE,其中最被看好的一种是10GBASE-T,行业内基于10GBASE-T接口设备的大量使用,据Intel预测,10GBase-T将会从2010年仅有的4%增长到2013年的44%,最终成为主要的媒介选项,万兆铜缆步入爆发式增长期,而CFI获得批准给万兆铜缆打了一剂强心剂,这是"光进铜进"时代!

      基于云计算、物联网等新技术的不断发展和应用,网络对于带宽的需求越来越高,尤其在云计算环境下的数据中心将大量基于虚拟化技术,从而最大化的提高服务器设备的利用率,这就需要更高的带宽布线系统来支持云计算数据中心的网络通信。

      10GBase-T是万兆以太网内最被看好,其优势明显:高速数据传输、良好兼容性、成本低等优势,对于大范围的实施万兆以太网来说,利用光纤传输的解决方案已经被证明过于昂贵,因此基于铜缆的解决方案得以被开发和应用。而在新一代BASE-T技术领域进行更多研究和投资,优化未来的产品选择,给10GBASE-T当前最终用户带来更强的技术优势。

    光纤增长迟缓,有心无力

      现在最常进入我们视野的一个词是“大数据”。国际数据公司(IDC)预计,全球大数据技术及服务市场2016年收入将达238亿美元,接近1500亿元人民币,中国市场规模未来5年将增长近7倍,由此也催生了中国数据中心相关产业的火热,中国的数据中心的建设处于高速增长的阶段,同时根据第三方调查机构的AMI预测,在今后的5年甚至更长的一段时期,国内数据中心的建设还将持续处于快速增长通道内。

      大型数据中心项目的建设与应用,极大的推动了光纤布线产品技术的发展,对数据中心光纤布线将提出新的更高的要求并产生新的技术课题促进了数据中心布线技术的发展,引导数据中心布线产品技术的方向进而在布线市场中产生主流效应。

      光纤布线传输最大的优势就在传输带宽大,随着2010年6月IEEE802.3ba新的以太网40G/100G标准发布后,40G 与100G的高速传输获得极大关注,光纤在数据中心的应用中占有绝对的优势,但较高的价格、安装不便、端口功耗高等原因造成光纤布线市场应用不高。

      当前数据中心的主干网络设备端口正大量从1GbE切换到10GbE,逐渐步入万兆时代,而40G/100G虽然开始商用,在但数据中心能有大手笔全应用光纤布线的还是凤毛麟角。与万兆铜缆相比,光纤也会增长,由于机房面积增大,功能区增多,加大主干传输距离因而光纤更多应用在主干传输上。

      大数据、高密度给未来增加不确定因素

      而作为基础设施之一的数据中心的布线系统与网络设备不一样,网络设备通常3-5年需要更新换代,数据中心的布线系统特别是光纤布线系统,通常需要支持约2~3代以上的网络设备的更新,所以光纤布线系统的部署应用上必须比实际当前网络应用超前3~5年。

      大数据时代、云计算、高密度等需求,给数据中心综合布线采用铜缆还是光纤带来不确定因素。无论是采用光纤还是铜缆布线都必须给未来几年数据传输提供充足的余量,从这方面看,光纤布线优势明显。

      云计算数据中心采用更为简洁的二层网络架构——TOR架构,在云计算数据中心TOR架构的采用,使得布线系统光纤应用量在增加,而铜缆的应用潜在总量在缩减,架构改变给光纤带来机遇,同时数据中心有这严格的散热要求,数量庞大的铜缆布线不利于数据中心散热环境。

      目前,数据中心最大的发展趋势之一就是高密度,数据中心的高密度是和预端接系统、MPO(多光纤连接器)紧密相关的,后者是前者很好的实现方式。预端接系统是由工厂端接、测试的符合标准的模块式连接解决方案,正在被越来越多的用户所关注;MPO无疑是数据中心光纤系统的热点话题,是实现高密度的有效手段。

      总结

      IEEE批准了新一代BASE-T兴趣征集请求(CFI),研发的未来方向是平衡双绞线铜缆布线上达到至少40G甚至100G以太网速度,削弱了光纤布线的相对优势。但大数据时代、云计算技术等兴起又给“光进铜退”蒙上了更大的不确定性。

  • 云集成:解密云计算的下一批杀手级应用

    2013-03-20 11:29:15

    公有云计算正在逐渐成为物理数据中心基础设施,尤其是中小企业的一种低成本备份选项。与此同时,公有云还正在推动创建一种更具活力的云迁移服务项目。随着小微企业开始投入巨资将他们的应用从主机托管和数据中心环境迁移至公有云上,这种服务开始逐渐兴起。

      目前企业对公有云和云迁移的投资速度非常缓慢,至少这部分资金在整个IT预算中所占比例不大。企业部署公有云(IaaS,基础设施即服务)进展缓慢的原因有许多种,这些原因已经被广泛的讨论过。迄今为止,业内人员尚未对云计算的下一代重量级应用展开过广泛讨论,而这些应用却恰恰是企业游戏的改变者。

      针对企业的新型重量级应用将会对云集成数据中心(或是真正的混合云部署)产生影响,并根本性地改变IT运营模式。这些杀手级应用将包括云集成的灵活性、防护性和扩展性。

      云集成的灵活性(战略灵活性)

      VMware先在软件测试中,随后又在生产环境中引入了具有虚拟化功能的x86 ,并以此作为增加数据中心与硬件效率、降低日益增长的应用/服务器管理成本的办法。与大幅增长的营收相比,或许它们对IT产生的文化影响更具影响力。实际上,它们极有可能通过打破操作系统、应用和硬件之间的隔阂为史无前例的IT文化革命创造条件。这些隔阂的消融最终将成就软件定义数据中心,并实践证明灵活性是如何推动数据中心转型的。

      在VMware推出了大型机分时作业后, VMware近些年来在IT发展过程中可能已经具备了与IBM相同的影响力。不过,这种混合云模式目前实际上相当于一个可停两辆车的车库(或许一辆停的是特斯拉汽车,另一辆停的是奔驰汽车),而不是单一的统一环境(真正的混合)环境。通过近期的收购,VMware毫无疑问地可以提供一种真正的混合架构。近期的舆论似乎显示VMware仍然认为私有云才是混合云。

      私有云具有战术灵活性。通过企业级服务与控制以及消除封闭性,具有云计算特征的灵活性能够在数据中心和云之间无缝运行应用和服务。我们可以将云集成数据中心视为软件定义数据中心的自然进化。

      云集成的灵活性也具有战略灵活性。它能够让带有企业级服务与控制的预生产和生产基础设施具有无比的灵活性。这种可创建和拆卸应用和服务,将它们在各数据中心、预生产与生产环境、多个云服务提供商或地区间移动的能力就是一种杀手级应用。它们最终将促使应用和服务与特定的本地或云计算脱钩,并能够作用于整个云以及虚拟化了的x86服务器区域。

      软件测试灵活性

      虽然公有云正在作为一种优秀的软件测试(或云计算软件测试)环境兴起,但是混合云提供了更为强大的灵活性以及对生产级环境的模仿。应用和服务能够在真正的生产环境中被测试,而不是在一个封闭的复制环境中测试。它们还能够更为容易地投入生产。混合云运营模式可享受到跨预生产环境与生产环境的战略灵活性所具备的优势,而这对于IT和生产效率提升来说都是一个新的转折点。

      云集成安全防护

      (为可能的或罕见的使用)创建双重数据中心和主机托管环境是一种非常拙劣的使用案例,尤其是与投资创新、安全或扩展性相比。随着越来越多的首席信息官需要向首席财务官进行报告,传统面向基础设施的灾难恢复和业务持续性解决方案开始受到越来越多的详细审查。“预付费型”云模式的出现开始吸引用户转而使用云服务作为失效备援防护措施,而不再将维护和升级冗余物理基础设施作为失效备援防护措施。

      不幸的是,公有云服务提供商并不擅长于满足这些需求与服务,因为后者对确保正常运行时间提出了严格的要求。即便拥有人气较高的客户,较高的运行中断率也会降低用户对云可用性的预期值。虽然具备一些明显的经济优势,但是由于客户无法轻易从一个区域转至另一个区域导致公有云对研发人员和失效备援/持续性解决方案缺乏吸引力。

      目前,公有云没有针对持续性的应用保护推出一个企业级解决方案。它们只是一个与数据中心和其它区域/云计算进行有限整合的孤立环境。“要么选择要么放弃”的孤立策略加之“封闭”导致的恶果严重制约了公有云的持续发展潜力。

      混合云(或是云集成数据中心)与生俱来的优势弥补了公有云的弱点,尤其是战略灵活性方面。在新的云服务或区域内快速部署双重基础设施,以及在主工作点/站被修复后的回切恰恰需要这种战略灵活性。混合云是一种高级架构,其具有更高水平的灵活性,能够提供更高等级的应用防护与扩展。

      混合云可为数据中心的服务与控制提供 “按需付费”的持续性防护。与维持双重固定式基础设施相比,前者无疑具有更高的效率。对于业务持续性和灾难恢复来说,(相对于目前的公有云和冗余物理基础设施)混合云是一个优先选项。

      云集成的扩展性(可持续扩展性)

      云爆炸是讨论最多的混合云重量级应用之一。由于其首先需要灵活性,因此只有在灵活性和防护问题解决之后才可能被推广。它们允许用户“平时拥有基本性能,在高峰期租用性能”。许多熟悉高扩展性数据中心环境的内部人士透露称,研发人员正在使用与高级私有云基础设施相当的设施来模拟云爆炸,不过他们目前还没能借助云集成实现无缝扩展。话又说回来,云集成是公有云和私有云的正常演进。对于大多数公司来说,能够应对可预测的工作负载并且可通过租借方式应对偶发性的工作负载是他们优先选择的运营模式。

  • 12款浏览器兼容性测试工具推荐

    2013-03-20 10:22:27

    对于前端开发工程师和WEB测试工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具。

      1. Spoon Browser Sandbox

      点击你需要测试的浏览器环境,安装插件就可以进行测试了。帮助你测试网页在Safari、Chrome、Firefox和Opera浏览器中是否正常,IE以前也有的,网站上说应微软的要求去掉了。

      2. Superpreview

      这是为微软自己发布的跨浏览器测试工具,您可以同时查看您的网页在多个浏览器的呈现情况,对页面排版进行直观的比较。

      3. IETester

      专门用于测试网页在IE浏览器各个版本中兼容性的工具,版本包含IE5.5至IE9的各个版本,很不错的一款工具,推荐。

     

    4. BrowserShots

      BrowserShots 是一款免费的跨浏览器测试工具,捕捉网站在不同浏览器中的截图。这是最有名,也是最古老的浏览器兼容性测试工具。

      5. Multiple IEs

      这款工具同样用于测试网页在IE浏览器各个版本的兼容性。

      6. IE netrenderer

      Netrenderer 也是用于检查你的网站在IE浏览器中的呈现情况,包括各个常用版本的检测。

    7. Viewlike.Us!

      Viewlike 是一款新推出的工具,帮助你检查浏览器在不同分辨率下得呈现情况。

      8. BrowserSeal

      这款工具的两个主要特色是独立的浏览器支持和带有自动化脚本的命令行界面。

      9. Browsera

      Browsera 是一个可测试您的网站的跨浏览器布局的工具,您会看到您网站上存在的兼容性错误。

     10. WebDevLab

      这款工具专门用于测试你的网站在苹果Safari浏览器中是什么样子的。

      11. Litmus

      这个工具可以帮助你检查你的网站在多个浏览器中的呈现情况,跟踪Bug并创建报告。

      12. Browsercam

      最后这款工具是要付费的,可以帮助你检查 Javascript. 和 DHTML,提供不同的测试环境平台。

  • 【转】loadrunner监控windows资源注意项

    2013-03-20 10:21:39

    Loadrunner监控windows资源时注意项:

    1、被监控服务器,需开启下述三个服务:
    server
    Remote Procedure Call(RPC)
    Remote Registry


    2、监控端,运行-net use\\IP\ipc$/user:administrator passwd
    net use\\被监控服务器IP\ipc$/user:administrator administrator的密码
    提示:命令成功完成

    3、如果上述命令没有成功完成;
    确认:
    安全策略的设置问题(管理工具 -> 本地安全策略 -> 安全选项 ->“网络访问:本地帐户的共享和安全模式”)。默认情况下,XP的访问方式是“仅来宾”的方式,如果你访问它,当然就固定为Guest来访问,而 guest账户没有监控的权限,所以要把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。修改后,再次执行步骤2

  • 【转】关于LR事务成功数与实际入库数不一致的问题解决

    2013-03-20 10:20:54

    之前在做公司机场项目性能测试的时候,遇到这样类似的问题:
    功能作为DLL封装调用,在脚本中设定一投注事务,该事务是往数据库中插入数据,调试全部成功。当设定场景Vuser为1,思考时间为0,运行10分钟后,事务通过数量为40220,数据库中的数据也是40220,该过程无错误提示

    初始化数据后,Vuser设置为50,思考时间为1,运行6分钟后,事务通过数量为3819,数据库中的数据也是3068,该过程无错误提示。成功入库率的只有80%,这一情况反映了实际入库的结果与事务通过数量不符。
    后Vsuer设为100,继续测试,仍然不符。

    因此看来,LR的事务与实际业务并不是强制一一对应的关系。有可能事务处理成功,但实际业务会遇到一些问题,可不知道如何下手去判断问题出在哪里。
     
    问题解决:
    lr的事物pass是代表在特定的时间内服务响应,有数据返回,是物理上的pass,但是数据库中数据需要成功插入,则需要逻辑上pass才能成功插入数据。一个是代码问题,一个是数据语句的问题。
     
  • 【转】分享对吞吐量、点击率、带宽大小等基础单位知识的总结

    2013-03-20 10:19:40

    一、位和字节
    1、 比特bit(b)  
    bit是字位(最小的存储单位,) 
    千位:Kbits(Kb,英文kilobit)
    计算机中的信息都是二进制的0和1来表示,其中每一个0或1被称作一个位。
    通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。

    2、 比特Byte(B)  
    Byte是字节(计算机储存容量大小的基本计算单位)
    千字节:Kbytes(KB,英文kilobyte)
    在应用层通常是用Byte来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1Byte,如果是汉字,则是2Byte。  
    我们所说的硬盘容量是40GB、80GB、100GB,这里的B指是的Byte也就是“字节”
    表示文件的大小单位,一般都使用字节(KB)来表示文件的大小。

    3、 兆(M,英文million=1000000)
    M是表示数值,不是单位,MB是量单位。 
    MB:一般指的是 兆字节,那个B是Byte而不是bit。
    Mb:一般指 兆位

    单位换算: 
    1Byte=8bit
    1KB=1024B=1024*8b 
    1kB=1000B=1000*8b   
    1Kb=1024b 
    1kb=1000b 
    1MB=1024KB
    1GB=1024MB
    1T=1024GB
    注意:小k通常表示1000,大K表示1024.

    二、传输速率
    1、带宽
    单位:Mbps(兆位/秒),又可写成Mb/sec,或Mb/s,ps就是每秒的意思,
    Mbps的含义是兆比特每秒:指每秒传输的比特位数
    MBps的含义是兆字节每秒:指每秒传输的字节数量
    Mbps代表每秒传输1048576比特(1MB=1024*1024b)。该缩写用来描述数据传输速度。例如:4Mbps=每秒钟传输4M比特
    传输速率是指集线器的数据交换能力,目前主流的集线器带宽主要有10Mbps、54Mbps/100Mbps自适应型、100Mbps和1GMbps四种。 

    由于数据传输速率的单位,字母b是比特和字母B是字节,相应的MBPS也就有两个解释了, 分别是:
    1、每秒百万个位元组 (megabyte);   
    2、每秒百万个位元(megebit)。
    通常说的Mbps是指第二个每秒百万个位元,也就是每秒百万个位。 

    由于在传输过程中为了保证信息传输的正确性需要在传输的每个字节之间增加仃码和校验码,因此如果换算成我们常用的MB单位就需要除以8,如下: 
    100Mbps=100/8=12.5MB/s 
    4Mbps = 4/8=0.5MB/s 

    常见的如:   
    一般主板仅仅能提供 100Mbps的接口  
    SATA II硬盘 理论上可以达到 3000Mbps 的速度  
    换算成我们常用的MB单位就是:   
    100Mbps=100/8=12.5MB/s  
    3000Mbps=12.5*30=375MB/s   
    这样就能看到适用于日常习惯性的传输速度单位了。   
    网络传输过程中还需要对信息进行打包,增加Ethernet Header, IP Header, TCP Header, ATM Header 等控制讯号,因此该数据的实际速率还需要再打些折扣,但最简单的估算方法除以10就可以了。

    在这里需要说明的问题是在单位换算上有一点是极其重要的,即:
    1Mb=1024kb=1024000b 
    1MB=1024KB=1024*1024B=1024*1024*8b=8388608b这在数量上差的很多
    1KB=1024B(大写K)
    1kB=1000B(小写k)
    1Mbps=1Mb=1024kb ,1024/8=128kb/s.

    KBps=1024Bps,kBps=1000Bps   也就是说KBps>kBps [1]
    小k代表kilo,千的意思,也就是1000,那么kBps就是1000Bps也就是一千字节每秒的意思。    
    而KBps(K为大写字母)就等于1024Bps。而kBps(k为小写字母)的意思是千字节每秒。   
    千字节每秒(KBps)与一千字节每秒(kBps)是不同的。  

    2、Kbps
    Kbps又称比特率,指的是数字信号的传输速率,也就是每秒钟传送多少个千位的信息。
    Kbps也可以表示网络的传输速度,为了在直观上显得网络的传输速度较快,一般公司都使用Kb(千位)来表示,即Kbps。如果是KBps,则表示每秒传送多少千字节。

    bps=bits per second = bits/s
    Bps=Bytes per second = Byte/s
    kbps=kilobits per second 千位/秒
    KBps=kilobytes per second 千字节/秒

    KBps表示的是每秒传送多少个千字节。
    换算的方式是:
    1KBps=8Kbps。
    1KB=8Kb
    1KBps=8Kbps
    1MB=8Mb
    1MBps=8Mbps
    1Mbps=1024Kbps
    1Kbps=1024bps

    1MBps=1024KBps
    1KBps=8Kbps
    1Gbps=1024Mbps
    1GBps=1024MBps
    1Kb=1024b=1024/8B=128B
    1MB=1024KB=1024*1024B=1024*1024/128Kb=8192Kb
    1 Mbps = 1024 Kbps=1024/8KBps=128KBps因此,通常说的2M带宽(网速),其实是2Mbps,即2Mbps=2*1024Kbps=2048/8KBps=256KBps,虽然理论上能到250KBps,实际约200KBPS就不错了.
    USB2.0标准接口传输速率是480兆位/秒,即480Mbps。这里的b指的是bit(与传输相关,属于底层)
    ADSL上网时的网速是512Kbps,如果转换成字节,就是512/8=64KBps(即64千字节每秒)。这里的64就是我们在下载软件中看到的下载速度。

    计算机存储单位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,它们之间的关系是:  
    1KB(Kilobyte 千字节)=1024B,   
    1MB (Megabyte 兆字节 简称“兆”)=1024KB,   
    1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,   
    1TB(Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方)
  • 【转】Web网站的性能测试工具

    2013-03-20 10:16:46

    随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。

      我推荐各位Web 2.0开发测试人员使用Microsoft 的Web Application Stress Tool这个工具软件,这个微软提供的小工具仅9.58M,很小巧且实用。虽然功能上比不了专业的LoadRunner,但LoadRunner体积庞大,价格不菲,一般的企业也不会花那么多钱去购买LoadRunner,而微软的WAS则是完全免费,并且主要的功能都有,够用就行。

      Microsoft Web Application Stress Tool能有效测试一个网站的负载性能,这个软件可以通过脚本模拟100个强并发用户的访问,并模拟实际用户的一些点击操作,WAS还可以连接上远程Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能(CPU/内存等)的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销,CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。

      每次测试运行结束后WAS会生成详细的报表,WAS报表可以从View菜单选择Reports查看。

      另外,CSDN也总结了一些其他的测试工具,包括性能测试工具和功能测试工具,前十大测试工具排名如下:

      业级自动化测试工具WinRunner

      Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

      工业标准级负载测试工具Loadrunner

      LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

      全球测试管理系统testdirector

      TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。

      功能测试工具Rational Robot

      IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

      单元测试工具xUnit系列

      目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit.

      功能测试工具SilkTest

      Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。

      性能测试工具WAS

      Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。

      自动化白盒测试工具Jtest

      Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。

      功能和性能测试的工具JMeter

      JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

      性能测试和分析工具WEBLODE

      webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

  • 【转】解析oracle的rownum

    2013-03-20 10:14:45

    本人最近在使用oracle的rownum实现分页显示的时候,对rownum做了进一步的分析和研究。现归纳如下,希望能给大家带来收获。
          对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。
     举例说明:
    例如表:student(学生)表,表结构为:
    ID       char(6)      --学号
    name    VARCHAR2(10)   --姓名 
    create table student (ID char(6), name VARCHAR2(100));
    insert into sale values('200001',‘张一’);
    insert into sale values('200002',‘王二’);
    insert into sale values('200003',‘李三’);
    insert into sale values('200004',‘赵四’);
    commit;
    (1) rownum 对于等于某值的查询条件
    如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。因为rownum都是从1开始,但是1以上的自然数在rownum做等于判断是时认为都是false条件,所以无法查到rownum = n(n>1的自然数)。
    SQL> select rownum,id,name from student where rownum=1;(可以用在限制返回记录条数的地方,保证不出错,如:隐式游标)
    SQL> select rownum,id,name from student where rownum=1;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
             1 200001 张一
    SQL> select rownum,id,name from student where rownum =2; 
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    (2)rownum对于大于某值的查询条件
       如果想找到从第二行记录以后的记录,当使用rownum>2是查不出记录的,原因是由于rownum是一个总是从1开始的伪列,Oracle 认为rownum> n(n>1的自然数)这种条件依旧不成立,所以查不到记录
    SQL> select rownum,id,name from student where rownum >2;
    ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    那如何才能找到第二行以后的记录呀。可以使用以下的子查询方法来解决。注意子查询中的rownum必须要有别名,否则还是不会查出记录来,这是因为rownum不是某个表的列,如果不起别名的话,无法知道rownum是子查询的列还是主查询的列。
    SQL>select * from(select rownum no ,id,name from student) where no>2;
            NO ID     NAME
    ---------- ------ ---------------------------------------------------
             3 200003 李三
             4 200004 赵四
    SQL> select * from(select rownum,id,name from student)where rownum>2;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    (3)rownum对于小于某值的查询条件
    如果想找到第三条记录以前的记录,当使用rownum<3是能得到两条记录的。显然rownum对于rownum<n((n>1的自然数)的条件认为是成立的,所以可以找到记录。
    SQL> select rownum,id,name from student where rownum <3;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
    1 200001 张一
            2 200002 王二
    综上几种情况,可能有时候需要查询rownum在某区间的数据,那怎么办呀从上可以看出rownum对小于某值的查询条件是人为true的,rownum对于大于某值的查询条件直接认为是false的,但是可以间接的让它转为认为是true的。那就必须使用子查询。例如要查询rownum在第二行到第三行之间的数据,包括第二行和第三行数据,那么我们只能写以下语句,先让它返回小于等于三的记录行,然后在主查询中判断新的rownum的别名列大于等于二的记录行。但是这样的操作会在大数据集中影响速度。
    SQL> select * from (select rownum no,id,name from student where rownum<=3 ) where no >=2;
            NO ID     NAME
    ---------- ------ ---------------------------------------------------
             2 200002 王二
             3 200003 李三
    (4)rownum和排序
    Oracle中的rownum的是在取数据的时候产生的序号,所以想对指定排序的数据去指定的rowmun行数据就必须注意了。
    SQL> select rownum ,id,name from student order by name;
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
             3 200003 李三
             2 200002 王二
             1 200001 张一
             4 200004 赵四
    可以看出,rownum并不是按照name列来生成的序号。系统是按照记录插入时的顺序给记录排的号,rowid也是顺序分配的。为了解决这个问题,必须使用子查询
    SQL> select rownum ,id,name from (select * from student order by name);
        ROWNUM ID     NAME
    ---------- ------ ---------------------------------------------------
             1 200003 李三
             2 200002 王二
             3 200001 张一
             4 200004 赵四
    这样就成了按name排序,并且用rownum标出正确序号(有小到大)
  • 【转】cookie和session 区别and 联系

    2013-03-20 10:13:26

    cookie和session机制之间的区别与联系 
    具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力. 
    而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局变量的方式 

    session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用cookie时,这个值也可能设置为由get来返回给服务器。 

    就安全性来说:当你访问一个使用session 的站点,同时在自己机子上建立一个cookie,建议在服务器端的SESSION机制更安全些.因为它不会任意读取客户存储的信息。 

    正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie 

    从网络服务器观点看所有HTTP请求都独立于先前请求。就是说每一个HTTP响应完全依赖于相应请求中包含的信息状态管理机制克服了HTTP的一些限制并允许网络客户端及服务器端维护请求间的关系。在这种关系维持的期间叫做会话(session)。 

    Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTTP State Management Mechanism 是通用cookie规范。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 



    cookie和session机制区别与联系 
    具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。 

    cookie机制。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。 
    cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式 
    session机制。session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。 

    当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。 
    保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。
  • 【转】关于Loadrunner-27796错误

    2013-03-20 10:07:39

    在性能测试过程中,大家都可能遇到过LR-27796错误,此类错误屡见不鲜..在走访了各大论坛后,发现大侠们给出的各类的版本的27796错误,那么27796是如何产生的呢?接下来跟大家分享下我的所得与感想

    在测试一个web站的接口项目中,出现了大量的27796错误(此报错代码有很多种错误提示,比如:27796—Failed to connect to server、27796—timeout、27796-No Route To Host等),根据LR的帮助提示是修改注册表的两个键值后方可解决,我试着修噶了注册表,重启了机器,在喜气冲冲的进行新的一轮压测过程中发现,错误木有解决,依然存在27796错误。我开始在网上搜索此问题的处理办法,说法云云:1、重启机器、2、修改注册表、3、更换操作系统(囧)我发现对我木有效果,出现错误的请求占总请求的20%左右,这个比例压测是无任何意义的!心灰意冷....

    我开始从第一个27796—Failed to connect to server开始查找原因,如果出现连接失败,肯定是客户端与服务器端的通信出现了问题导致的,不论外界原因,实质就是通信!
    我试着使用网络工具wireshark在LoadRunner开启时,抓取通信信息。问题出现了,在监测通讯过程中发现,问题出现在第二次握手,客户端已经发出syn包,但服务器端没有接受到syn包,
    当timewait三秒钟后再次发出syn包,服务器端可以接收到此包,问题出现了,就是说这个请求在没有建立连接时就出现错误了,神奇了!!!
    客户端与服务器端
    建立连接如下:
    第一次  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 
      
    三次握手

    第三次  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

    问题找到原因了,那么这些不同的27796有那些问题,如何产生的呢?

    答案1:大家可能有手工编写脚本的习惯,大家使用最多的协议应该是web/http协议,那么GET、POST请求是最常见的,例如:web_url("www.baidu.com",                 "URL=http://www.baidu.com", 
                    "Resource=0", 
                    "RecContentType=text/html", 
                    "Referer=", 
                    "Snapshot=t2.inf", 
                    "Mode=HTML", 
                    LAST);
    这段代码中我们来分析下,如果把以上代码修改为
         web_url("www.baidu.com",                 "URL=http://www.baidu.com",
                    LAST);
    请求是否成功?答案是肯定是,可以发起get请求。那么大家实验过没有如果这样的话,在压测过程中是否出现过问题?LR会出现27796错误,大家可以实验下,那么问题出在那呢?问题就出现在自己的代码中,缺少RecContentType=text/html类型导致GET请求出现问题,服务器端无法识别请求携带的标示,所以自己的代码编写是27796产生的一部分

    原因2:这个是摘自百度的帖子"因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了"
    说白了点,就是端口没有释放掉timeout状态,没有恢复到监听的状态,所以此时做好的办法就是,重启电脑恢复这些端口占用的状态,当重启机器后,查看状态netsat -nao 后,如果恢复到正常端口的状态,就可以再次进行性能测试了。

    原因3:第三个原因
    在性能测试i过程中,可能出现服务器资源利用率过高,导致建立连接失败现象,此类错误应该查看服务器的资源利用率,如果出现了资源利用过高现象,27796的错误也会在此时产生!27796的错误一般都是由于建立连接失败而导致的,建立连接失败的原因有很多种情况,大家只要明白其中27796的产生错误的实质就可以了,在大家测试过程中欢迎大家跟帖,在什么情况出现的这种错误,如何解决的继续下去!
  • 【转】2008 IIS Installation And Kerberos configuration

    2013-03-20 10:05:49

    一.2008 IIS Installation

    1.     1. Open ‘Sever Management’, as follow interface
    图片
    2.
    Select   ‘Roles’, and click on ‘Add Roles’, as follow interface :
    图片 
      

    3.click on ‘Next’ .as follow :
    图片

     4.
    Select ‘Web Server(IIS)’, then clickon  ‘Next’, as follow: 
     
    图片 

    5.Click on  ‘Next’, as follow :
     图片

    6.     6.In the interface of  ‘Select Role Services’, select ‘Security’and  ‘IIS’, then  click on ‘Next’.As follow :
    图片
    图片 

     
     7.Click on  ‘Install’, as follow:
     

    图片

    8.     Wait for install, as follow: 
    图片

    9.    9. Finish install.
     

    1    10.  Open  ‘Internet InformationServices(IIS) Manager ’,as follow: 
    图片

    11 11.Popup ‘Internet Information Services(IIS) Manager’
     图片

    12. 2008 IIS Installation finished.
    二.Kerberos  configuration

    1.     Create an new HTLM file and put it ina folder  under the path:C:\inetpub\wwwroot,as follow:
    图片 

    2.     Open ‘Internet Information Services(IIS) Manager’, create a new application,as follow:
    图片 

    3.      “Managed Pipeline Mode” set as “Integrated”
    图片 

    4.      Create a new website.
    图片 

    5.     Input Site name, and select the one which mentioned in step2 for the“Application Pool”, as follow:
    图片 

    6.       select the “Physical path” which youcreated in Step1, And then set the appropriate Port for it and chick on ‘OK’.
    图片 

    7.      selectthe website,open the  ‘Authentication’
    图片 

    8.       only enable ‘Windows Authentication’
    图片
     
    9.       right click on the ‘Windows Authentication’open ‘Advanced Settings’,
    图片 

    10.  uncheck‘Enable Kernel-mode authenticaiton’ and click on ‘OK     
    图片  

     11.Go  to directory:‘C:\inetpub\AdminScripts’ ,find ‘Adsutil.vbs’.
    图片 

    12.    Open CMD command, and go to ‘C:\inetpub\AdminScripts’
    图片 

    13.  run  ‘cscript. adsutil.vbs set w3svc/NTAuthenticationProviders  Negotiate,NTLM ’.
    图片 

    14.     Kerberos   configuration   finished.

  • 【转】oracle入门心得----强烈推荐

    2013-03-20 10:02:25

    oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路。 
      
    一、定位 
    oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。 
      
    因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。
    二、学习方法  
    我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记 
      
         看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。 
      
         学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。 
      
         学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了 
      
         很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性。由别人来回答你的问题,会让你在短时间内不费劲地弄懂这个知识点,然而通过自己的努力去研究它,不但会更深入的了解这个知识点,更重要的是在研究的过程会提高你解决问题和分析问题的能力。总的来说,没有钻研的学习态度,不管学什么东西,都不会成功的。 
      
         当然,初学的人很多时候是因为遇到问题时,无从下手,也不知道去哪里找资料,才会到论坛上提问题的。但我认为,在提问的时候,是不是可以问别人是如何分析这个问题?从哪里可以找到相关的资料?而不是这个问题的答案是什么?授人以鱼不如授人以渔。

       下面我讲下我处理问题的过程

       首先要知道oracle的官方网站:www.oracle.com 这里有oracle的各种版本的数据库、应用工具和权威的官方文档。其次,还要知道http://metalink.oracle.com/这里是买了oracle服务或是oracle的合作伙伴才可以进去的,里面有很多权威的解决方案和补丁。然后就是一些著名网站:asktom.oracle.com www.orafaq.netwww.dbazine.com。这里有很多经验之谈。

        遇到问题了。如果是概念上的问题,第一时间可以找tahiti.oracle.com,这里会给你最详细的解释。如果在运行的过程中出了什么错误。可以去metalink看看。如果是想知道事务的处理的经验之谈。可以去asktom。当然。这里只是相对而言。
    三、oracle的体系 
    oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。 
      
    1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成) 
    控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件 
    数据文件:存储数据的文件 
    重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件 
    参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数 
    归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。 
    密码文件:认证哪些用户有权限启动和关闭Oracle例程 
      
    2、逻辑结构(表空间、段、区、块) 
    表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。 
    段:是对象在数据库中占用的空间 
    区:是为数据一次性预留的一个较大的存储空间 
    块:ORACLE最基本的存储单位,在建立数据库的时候指定 
      
    3、内存分配(SGA和PGA) 
    SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息, 它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 
    PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收 
      
    4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程) 
    数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件 
    日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件 
    系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复 
    进程监控:负责在一个Oracle 进程失败时清理资源 
    检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。 
    归档进程:在每次日志切换时把已满的日志组进行备份或归档 
    服务进程:用户进程服务。 
    用户进程:在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据。 
      
    5、oracle例程:Oracle 例程由SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。 
      
    6、SCN(System Change Number):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。
    四、深入学习  
    管理:可以考OCP证书,对oracle先有一个系统的学习,然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。 
      
    开发:对于想做Oracle开发的,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分。 PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。 Oracle的开发工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。
    介绍几本oracle入门的好书

    oracle官方文档:《concept》上面讲了oracle的体系和概念,很适合初学者看。

    OCP的教学用书,也就是STUDY GUIDE(SG)。
    Oracle8i 备份恢复手册
    Oracle8高级管理与优化
    Oracle8i PLSQL程序设计
    Oracle8数据库管理员手册
    以上书本都是机械工业出版社出版。
      
    介绍几个网站 
    http://tahiti.oracle.com oracle的官方文档 
    现在http://www.oracle.com.cn/onlinedoc/index.htm也有官方文档,速度奇快
    http://metalink.oracle.com/ oracle的技术支持网站。需要购买Oracle服务才能有一个帐号,才能登陆,有大量的Knowledge Base,大量问题解决经验。 
    http://www.oracle.com oracle的官方网站,可以在这里down oracle的软件、官方文档和获得最新的消息 
    http://www.dbazine.com/ Oracle的杂志 
    http://asktom.oracle.com  
    http://www.orafaq.net/  
    http://www.ixora.com.au/ 
    http://www.oracle-base.com 
    http://www.dba-oracle.com/oracle_links.htm
  • 【转】测试人员应该掌握的oracle体系

    2013-03-20 10:00:54

    测试人员应该掌握的oracle体系
    • 1.安装
      • 1.1 oracle安装
      • 1.2 oracle升级
      • 1.3 oracle补丁
    • 2.管理
      • 2.1数据库创建(dbca
      • 2.2数据库启动与关闭
        • 2.2.1数据库启动过程:startup(参数nomountmountforceRESTRICT 

    1. 启动实例:oracle  instance =SGA +Processes读取参数文件,Init.ora分配SGA区,启动后台进程。 

    2. 数据库安装:  Database mounted控制文件 init.ora

    3. 打开数据库:  Database opened打开全部数据文件和全部日志文件'控制文件

    2.2.2关闭:shutdown

    nomal;  正常退出。在所有用户已退出情况下使用 

    immediate;立即关机。中断所有用户,并回退所有未保存命令。(推荐使用) abort;异常关机。只关闭实例,是一种危险关机。 

    transactional;事物终结后关机。等待所有用户完成提交后关机。

      • 2.3表空间与数据文件管理
        • 2.3.1系统表空间
        • 2.3.2用户表空间
        • 2.3.3临时表空间
      • 2.4数据导入导出及迁移
        • 2.4.1导入导出 imp/exp,其他工具
      • 2.5备份与恢复
      • 2.6权限与用户管理
      • 2.8参数设置
        • 2.8.1 SGA
          • 数据缓冲区:一般为可用内存40%
          • 共享池:一般为可用内存10%  
          • 日志缓冲区:128K ---- 1M之间,不应该太大  
          •  JAVE池:不使用java,原则上不能小于20M,给30M通常就够了
          • 大池:若不使用MTS,5---- 10M之间,不应该太大  
        • 2.8.2 PGA
          • Sort_area_size用于排序所占内存  
          • Hash_area_size用于散列联接,位图索引  
    • 3.开发
      • 3.1 SQL语法及常用语句
        • 3.1.1 DDLCREATEDORPALTERTRUNCATE
        • 3.1.2 DMLINSERTUPDATEDELETESELECT
        • 3.1.3 DCLgrantrevokedeny
        • 3.1.5关键字:likeandorinbetweenorder bydescescgroupunioninto
        • 3.1.6函数:avgsumcountmaxminto_chardate
      • 3.2 SQL优化
      • 3.4数据库设计
      • 3.5数据库对象
        • 3.5.1表(横表和纵表):一个数据库表由一条或多条记录(记录是有记录项组成)组成,没有记录的表称为空表

    3.5.2索引:索引是根据指定的数据库表列建立起来的顺序。提供快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。如聚簇索引。 

    3.5.3视图:其实是一个虚拟的表,在数据库中并不实际存在。视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。 

    3.5.4触发器:触发器由事件来触发,可以查询其他表,而且可以包含复杂的SQL语句。主要用于强制服从复杂的业务规则或要求。

    3.5.5 存储过程(动态和静态):存储过程是为完成特定的功能而汇集在一起的一组SQL程序语句,经编译后存储在数据库中的SQL程序。 

    3.5.6用户:分为管理员用户和普通用户。前者可对数据库进行修改删除,后者只能进行阅读查看等操作。 

    3.5.7游标(显式和隐式):存放SQL语句的执行结果集

    3.5.8规则:规则是对数据库表中数据信息的限制。它限定的是表的列

    3.5.9序列:序列定义存储在数据字典中,序列通过提供唯一数值的顺序表用于简化程序设计工作

    3.5.10缺省值:缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值

  • 【转】历经严酷测试!八核FX挑战新版《魔兽世界》

    2013-03-20 08:58:33

    第1页八核FX挑战新版《魔兽世界》

      CPU对游戏能起到什么作用?这个问题往往让很多游戏玩家感到迷茫。可以肯定的是,在显卡为主的游戏圈,CPU起到的作用并没有那么高,但是它却是最不能被忽略的重要元件。CPU在游戏中所起到的作用,不仅仅是进行游戏数据处理,而且还对显卡以及系统内各设备进行数据交换起到了承托的作用。

      第二个问题,八核心处理器到底适合不适合游戏用?以AMD FX 8350处理器为首,CPU正式开始进入了八核时代。八核心处理器的特色之一,就是多核心使每个核心对游戏的负载有明显降低,让CPU拥有更多的空余性能来对显卡进行加速。并且八核心FX-8350处理器还支持了AVX指令集,让游戏画面表现与游戏性能有了更强的提升。

    八核FX挑战新版《魔兽世界》
    八核FX挑战新版《魔兽世界》

      综上所述,多核心处理器在理论上将会拥有更加优秀的游戏性能,包括最为流畅的游戏体验。事实是否如此?下面笔者使用AMD八核心旗舰处理器FX 8350所组建的高端3A平台,来向大家进行一下游戏测试。

      第2页游戏测试平台配置简介

      测试平台简介:
    硬件测试平台
    CPU
    AMD FX-8350
    内 存
    海盗船4GB DDR3-2166*2
    硬 盘
    海盗船GT FORCE 120GB SSD
    主 板
    华硕Crosshair V Formula 990FX
    显 卡
    HIS Radeon HD 7950 3GB GDDR5
    显示器
    戴尔U3011
    电 源
    海盗船TX750M
    软件测试平台
    操作系统
    Windows 7 ultimate 64位
    测试游戏
    《魔兽世界》5.2版

      测试平台采用了AMD-FX 8350处理器,该处理器为最新Pilediver架构设计,拥有八个物理核心,主频高达4.0GHz,采用AM3+接口。主板方面,采用了AMD 990FX芯片组主板,该主板支持PCI-E 3.0接口。显卡则选用了HIS Radeon HD 7950独立显卡,该显卡采用1GB GDDR5显存,支持PCI-E 3.0接口。

    测试平台CPU-Z识别信息

    测试平台CPU-Z识别信息

      对于AMD粉丝而言,使用AMD处理器、AMD主板、Radeon HD系列显卡而组建的3A平台,在游戏方面会带给玩家最佳的游戏体验。作为最新3A平台代言人,FX 8350与Radeon HD 7950高端显卡的搭配则是近期的主流,从各类测试以及玩家的实际体验中都能够表现出对这套平台的喜爱。

      第3页网游王者进化之后新姿态

      网游王者新进化:《魔兽世界》5.2版雷神降临

      于近日首次更新的新版《魔兽世界》,将是熊猫人之谜版本的最后一次更新,新开启的副本与日常任务区域吸引了更多玩家的注目。每次版本更新虽然暴雪并没有直接提出,但是玩家们会明显感受到版本更新对系统性能造成的挑战。

      下面让我们来欣赏一下更新后的魔兽世界有什么改变:

    《魔兽世界》5.2更新首日,新副本并未开启

    《魔兽世界》5.2更新首日,新副本并未开启
    全新的战场排队界面

    全新的战场排队界面
    副本类型依旧与上个版本相同


    副本类型依旧与上个版本相同

      作为AMD的当家花旦,FX-8350采用全新的Pilediver架构,高达八个物理核心也使其卖相十足。而且被玩家津津乐道的“3A”平台,则是AMD处理器、AMD Radeon HD显卡、AMD 9系列主板的经典组合。FX 8350能否发挥全部威力?让我们拭目以待。

      第4页游戏性能测试简介

      游戏性能测试简介:针对三大经典环境

      对于魔兽玩家来说,野外任务、PVP战场、副本,这三样伴随着我们从60级年代一直到现在的90级年代。作为《魔兽世界》的最经典之处,副本与战场将PVE和PVP两个方向发挥至极致,并且不同着重点的装备也最大限度的提高了游戏可玩性以及玩家的粘性。

    《魔兽世界》的高可玩性是让玩家流连的最大原因

    《魔兽世界》的高可玩性是让玩家流连的最大原因

      从玩家日常游戏中可以看出,野外环境虽然对性能要求适中,但是却是游戏中时间最长的场景之一;而战场虽然地图较小,但是PVP过程中各类技能特效环节占用了较高的性能;至于PVE副本,无论10人副本还是25人副本,由于BOSS技能效果越来越炫丽,对系统性能需求最为严苛。也许你的电脑可以在野外以及战场十分流畅,但是遇见25人副本时或许需要降低特效甚至分辨率以换取足够的流畅度。

    副本以及战场对系统性能要求更高

    副本以及战场对系统性能要求更高

      对于这三个典型环境进行的性能测试,足以表明测试平台系统在针对于玩家的日常游戏习惯时会拥有怎样的表现。并且对于台式PC游戏系统来说,在1920*1080分辨率下能否流畅运行则成为了最基本的要求。

    游戏测试分辨率和特效设置

    游戏测试分辨率和特效设置

      本次测试游戏分辨率为1920*1080,游戏特效设置为极佳,关闭多倍抗锯齿以及垂直同步选项。为了将帧数影响降低至最小,游戏测试采用了全屏幕显示模式。测试方法采用玩家实际操作,帧数记录通过Fraps记录游戏实时帧数以及最高帧数、最低帧数、平均帧数。

      第5页游戏性能测试(一):野外环境测试

      游戏性能测试(一):野外环境测试

      野外环境测试方法:在游戏中测试从地点A到地点B,使用游戏中飞行道具(即:飞行坐骑),记录飞行途中的帧数变化。在路径选择中,我们选择途中不需要进行读盘的地图,以保证帧数的客观性。

    日常野外性能测试环境

    日常野外性能测试环境

      对于野外环境来说,由于需要经常进行树木、建筑等场景更换,频繁的3D建模更新使得游戏对CPU以及显卡的性能有一定的要求。并且玩家需要更高的流畅度,CPU的性能提出了更高的考验。

    野外性能测试帧数统计图

    野外性能测试帧数统计图

      首先我们来看一下游戏过程中的实时帧数波形图,从中可以看到,在野外过程中由于需要频繁的3D建模,致使帧数出现谷底现象。而主要帧数浮动都在60帧到100帧的区间中,由此可以证明测试平台完全可以保证玩家在游戏过程中感受到流畅的游戏体验。最重要的是,在频繁的建模负担下,FX-8350在八核的优势下保证了帧数稳定,即使最低帧数也能够保证游戏的流畅度十分稳定。

      第6页游戏性能测试(二):战场环境测试

      游戏性能测试(二):战场环境测试

      战场环境测试方法:使用游戏内置的随机战场工具,进行战场排队,进入战场进行一场完整的PVP战役。由于PVP战场各类环境地图面积相差不多,所以随机战场也同样能够具有一定的代表性。

    PVP战场环境测试

    PVP战场环境测试

      对于战场玩家来说,大规模PVP带来的不仅是爽快的打击感,同时各类技能带来的精彩特效也带来了优秀的画面感受。PVP战场对PC系统的要求,更多在于玩家AI数据的处理以及技能特效的建造与刻画这两方面的。

    战场环境测试帧数统计

    战场环境测试帧数统计

      由于在战场环境下,对性能的最主要需求在于人数的增加以及技能的3D特效,所以测试平台的性能需求更高。从测试帧数波形图我们可以看到,FX-8350搭配Radeon HD 7950显卡所组建的测试平台依旧可以将大部分帧数稳定在60帧至80帧之间,这对于玩家流畅游戏而言则是最有力的硬件支持。在战场测试中,八个物理核心的FX 8350不仅保证了较高的运行帧数,很高的游戏流畅度在最大程度上保证了使用体验。

      第7页游戏性能测试(三):副本环境测试

      游戏性能测试(三):副本环境测试

      副本环境测试方法:使用随机25人副本进行测试,由于《魔兽世界》5.02版本在开始初期仍旧无法进行25人随机《雷神降临》系列副本,所以我们的副本测试仍然只能进行永春台等副本进行。由于副本需要同时兼顾25个玩家以及BOSS的技能效果,在参与人数等都是最高等级,其性能需求更是所有环境中最高的。

    25人随机副本测试

    25人随机副本测试

      25人副本依旧是近期人数要求最高的副本,其BOSS技能也与10人副本等相同,可以说是副本体验中最为耗费系统资源的部分。而FX 8350与Radeon HD 7950显卡组建的测试平台,它能够拥有多强的性能体验?

    副本性能测试帧数统计

    副本性能测试帧数统计

      在实时帧数波形图上我们可以发现,相对于战场以及野外,副本对性能的要求有明显提高,整体帧数区间已经降至100帧以下。其中最主要的帧数区间为40帧到80帧之间,能够表明测试平台完全可以满足流畅运行游戏的需求。FX-8350的一大优势为不仅提供较高的帧数,而且还能够保障优秀的流畅度。

      第8页FX 8350当属新3A平台的最佳保障

      总结:FX 8350当属新3A平台的最佳保障

      众所周知,3A平台即AMD处理器、AMD主板、AMD Radeon HD显卡搭配组合,由于其在驱动方面进行了深度整合,所以其整体性能有了明显的优势。而在游戏性能方面,3A平台不仅依靠驱动尽享先机,而且性能更是可圈可点。

    FX-8350的八核优势在游戏中同样给力

    FX-8350的八核优势在游戏中同样给力

      FX-8350的特色在于拥有八个物理核心,多核心处理器可以让游戏流畅度更高,尤其在游戏中需要大量3D建模时能够保证不会出现卡顿现象。而且FX 8350同样支持AVX指令集,该指令集的特色在于将浮点运算性能提高一倍!这是这款AMD旗舰处理器能够保证优秀游戏体验的杀手锏。

    FX 8350打造的新3A平台能够轻松满足各类游戏需求

    FX 8350打造的新3A平台能够轻松满足各类游戏需求

      我们在全面的测试中可以看到,FX-8350这款AMD旗舰处理器与Radeon HD 7950显卡组建的3A平台在新版魔兽世界中拥有的优秀实力。在1920*1080分辨率下,能够全效果流畅运行魔兽世界,这点也凸显出了FX-8350拥有最佳的针对游戏设计的优异性能。无论你是一个副本控还是PK狂人,FX-8350都能够最大限度的满足你的需求。 

  • 【转】2012年软件检测行业发展现状年终盘点

    2013-03-20 08:56:36

    回首2012年:

    2012年,软件检测行业仍处发展阶段,市场规模巨大却无法转换成有效赢利。一方面,企业偏重于重视软件性能测试,忽略软件特性测试。另一方面,企业出于商业机密考虑偏重于企业内部测试,软件检测行业缺乏有效引导。软件检测行业因其工作特性,也劣于软件认证行业, 尤其是传统传播性不利于行业自我推广。软件检测,包括"软件检验"、"软件测试"、"软件评测"。

    一、软件常规检测项目:软件特性测试与软件功能测试

    2012年软件检测行业发展现状年终盘点

    传统软件企业,偏重于“功能实现”上的建设,强调软件功能又多又广泛。目前流行趋势已有转变:

    1、互联网企业设计产品偏重于细分用户需求,打造多个产品精确定位用户。

    2、强调用户体验,强调UI设计的交互性。

    3、产品设计偏重于解决问题,提供一站式服务。

    当企业还纠结在强调软件功能上,对会分散软件特性的挖掘,缺乏关注用户体验,落下个功能强大,不怎么好用的下场。软件企业需重视软件特性测试。

    二、阻碍软件检测行业发展的因素

    2012年软件检测行业发展现状年终盘点

    设备陈旧、技术落后、人员素质、客户不重视、缺乏自我宣传,成为阻碍软件测检行业发展的5大因素。每一天,都有大量的软件应用问世,其中送到检测机构的量稀少。

    三、企业都爱搞内部测试

    2012年软件检测行业发展现状年终盘点

    企业并非不重视软件检测,相反每一款产品从设计阶段到最终发布,都要经过N轮的测试,包括内部测试,外部测试等各种测试,只是这些测试通常都被企业内部消化了,企业更看重以下方面:

    1、企业机密保护

    商业机密永远是企业最关心的问题。传统的测试机构从接受检测任务--完成检测报告,流程十分缓慢。其中存在着泄密风险,一旦产品计划被竞争对手提前得知,如今的复制粘贴时代很容易毁掉一个烧钱百万、千万的项目,使得企业承担巨大风险。

    2、软件漏洞、BUG不可避免

    软件漏洞、BUG一方面是程序员设计的疏忽,另一方面更是不可避免的,内部完全可以胜任这项测试。

    3、测试工程师

    软件是信息技术的产物,完成工具是电脑与员工劳务。目前所有的大型软件企业都为项目配备了软件测试工程师,这些工程师可以通过自身技术完成企业内部的需要。测试工程师的工作,代替了软件检测机构大量的工作。

    4、第三方机构的必要性

    唯有当软件面对法律法规,面对舆论压力,面对客户需要时,出现必要条件,才会考虑将自己的产品送去第三方检测机构,出具报告证书。

    这些客观条件看似重要,其中存在着突发性与偶然性,这也使得企业在内有测试工程师的情况下,不考虑第三方机构的检测。

    四、2013年软件检测行业展望

    首要问题,打破检测行业发展限制因素,面对发展瓶颈,寻找可靠的切入点。从宏观上,国际社会对于软件产品的检测要求提升,并进行一些规范规定,将会促使行业发展。从微观上,每个企业下的软件产品,对检测需求不大的情况下,如何挖掘客户需求?

    相比单纯的软件检测行业,软件认证行业特性使它在传播上更具优势,如:软件认证LOGO可视性营销。安全软件市场就是一个软件认证丰收的市场,全球有10多家认证机构建立在行业之上,获得一个VB100%认证,西海岸实验室认证,企业争先恐后的频频曝光荣耀,可见认证机构成功营销了自己品牌。

    软件检测行业需要思考、需要公信力带动,在2013年面对如此大的市场,寻找合适自己营销道路。

  • 【转】相关报道揭示软件测试发展前景

    2013-03-20 08:53:42

        首先提高自己的测试理论基础。可以围绕自己所做的测试,有哪些相关的测试理论可以支持。所有的测试基础概念其实都是通用的:静态测试,动态测试,测试用例,等等...以及一些测试相关技术:等价类划分,边界值,相信这些方法所有的人每天都在用,但是未必所有的人都能说明白。所以为自己每天所做的测试行动找点理论基础,即有效率有与实践相结合,慢慢就会发现,北大青鸟中关村相关老师介绍其实平时所做的事情都可以找到测试理论来支持,这样拥有扎实的理论就有可以实现了.....这也是职业发展的重要一步。


      其次要对测试的整体流程有完整的概念。这个是目前很多初级测试人员所欠缺的。目前大多数人只知道自己测试的是什么东西,但是不知道自己执行的测试处于什么阶段,下一个阶段是什么,也许整个项目做完不知道;这个问题的主要责任在于公司,很多小规模的公司由于受规模和成本的限制,并不愿意在测试流程管理上花费时间,(当然也有可能是因为管理层没有这样的意识),认为公司规模不大,用不着那么多条条框框,让测试人员按需求说明书测完了就OK了,而软件测试人员也就不要知道什么是测试计划,什么测试策略,分哪几阶段的测试,反正测试完就好。北大青鸟中关村相关老师介绍但是实际上,在中大规模的公司,这些测试的流程管理是很严谨的,也就需要员工有端到端的测试意识和对测试流程的概念的认可,所以很多测试人员在往大公司跳时往往因为这个原因而被拒--没有测试整体流程管理的概念。

    第三,在进行测试工作中要弄明白为什么要这么做,为什么要执行这样的案例,为什么要执行相关的测试工作...。多问几个为什么。有一个问题要先讲清楚,就是有很多人还没有注意到这个问题,领导让怎么做就怎么做,也许真的做的很熟练了,但是一年后去问他为什么要这么做,相信他也说不出太多,反倒觉得就应该这么测。这样带来直接的弊端就是对自己的职业之路不负责任,所以目前已经意识到这问题的同行们已经占得先机。北大青鸟中关村相关老师介绍只有弄明白自己作的每件事,才能知道自己未来要干什么....

  • 【转】软件测试漫谈

    2013-03-20 08:52:48

    2007年5月18日,众多使用诺顿防病毒软件的中国个人用户和企业用户在重启系统后出现蓝屏,系统不能正常使用。虽然诺顿当天下午就给出了解决方案,但是诺顿作为专业安全公司的信誉受到了严重影响,损失重大。该事故原因非常简单,就是当天的诺顿更新把两个简体中文版的Windows系统文件误当成了病毒。这个本该在实验室的测试中能被轻易发现的问题,却由于各种技术或管理原因被漏掉了。

      因软件缺陷而导致重大负面影响或损失的例子数不胜数,业内顶级厂商都不能幸免究其原因,几乎都可归入软件测试不够充分。如此多的案例,一方面佐证了软件测试的重要性,另一方面,也说明了做好软件测试远不是一件容易的事情。

      那么,什么是测试?如何做好测试?

         一、软件测试的经典定义

      即使是有经验的测试专家,也会因其自身经验和理念的差异,对软件测试给出不同的定义。业界引用较多的是G.J.Myers在其经典著作《软件测试之艺术》(TheArtofSoftwareTesting)中给出的测试的定义:测试是为了发现错误而执行程序的过程。

      另一个经典的定义是IEEE1999年对测试的定义:测试是在特定条件下,操作一个系统或部件,观察和记录结果,对系统或部件的某些方面进行评估的过程。

      这两个定义代表了两种主流的测试理念,前者强调测试的目的是为了发现问题,而后者则认为测试的目的是验证(在特定条件下)没有问题,两者各有特点。这两种测试理念都有不少追随者,在实践上,一般以某种理念为主,同时吸取另一种理念的长处。

      ●以发现问题为目的的测试,会引导测试工程师全力投入易发现问题的测试方向,效率相对较高;但弊端是会忽略不易发现问题的方面,即使是系统的关键部分,也可能因不易发现问题而导致测试投入不够,事实上,"不能发现问题"本身就是主观认定的,不测更无法发现问题。这种测试理念如果把控不好,很容易导致测试方向错误,遗漏重要问题。

      ●以验证(在特定条件下)没有问题的测试,这种理念最大的好处是测试范围明确,即所谓特定条件下,常见的是以产品需求、规格、应用场景来确定测试范围。一旦范围明确,测试计划和测试策略都相对容易制定,测试执行也可以有条不紊的展开。不好的地方,是必要的覆盖测试会降低平均问题发现效率。

      不同的测试理念,必然导致不同的实践结果。但即使测试认知水平相近,其实践结果一样可能迥异。事实上,测试要真正起到质量把关作用,认知是前提,在实践中的制度设计、资源投入也非常关键。

      首先,制度设计上,测试团队必须保持相对独立,和开发团队形成互相制衡、共同进步的关系。测试团队如果在组织管理上隶属于开发团队,则必然丧失独立性,只会沦为橡皮图章,质量控制也成为空谈。

      其次,测试消耗巨大,必须保证资源投入。统计表明,一个大型的软件项目,测试相关的时间和费用往往占到50%以上,这将对商业公司的质量决心构成严峻考验。只有始终把质量放在第一位,才能做到在测试上的持续投入。

         二、H3C的测试观

      H3C更认同IEEE的测试观念,认为从质量控制理论出发,从关注客户应用的角度,验证没有问题比发现问题更重要。测试覆盖度是软件质量控制的关键衡量指标,只有全面验证了产品的各项规格,验证了产品在各种可能的客户应用场景下都没有问题,才能对质量有相对的信心。应该在确保测试覆盖度的前提下,再考虑尽可能高效的发现问题。

      在这种认知下,H3C基于多年的测试实践给出了自己对于测试的定义:测试是指为了高效的验证被测系统是否满足目标客户的需求,是否提供了规格定义的功能和性能,而开展的一系列活动的总和。这个定义反映了H3C的测试理念,同时也是H3C测试实践的指导原则,指导H3C测试团队实施"好"的测试。

      首先,测试必须目标明确,有的放矢,即验证规格定义的功能和性能,验证是否满足了客户的各种需求。H3C要求产品的测试需求分析和测试方案设计必须紧紧围绕产品规格、产品定位、目标客户的业务模型和应用场景展开,形成覆盖完备的测试用例体系。在测试执行阶段,则提倡二八原则,即80%的精力投入到已有测试用例的覆盖测试中,20%的时间可供测试工程师发散测试,投入到其认为可以更好的发现问题的活动中,充分发挥工程师的主观能动性。

      其次,测试是一个系统工程。一个好的测试,需要系统的组织各项测试活动,全面的制定测试计划和测试策略,合理应对风险,设定测试目标,安排测试内容,开展测试执行,评估测试结果与产品质量,确定什么时候测试可以结束,分析测试如何改进等。H3C通过PTM(ProductTestManagement)构建了一套完整的质量保证流,对贯穿产品生命周期全过程的测试活动进行规范,H3C测试团队从产品立项第一天起就开始介入,每一个开发活动,都设置了对应的测试活动来进行质量保证,并通过事前引导、事中监控、事后审计来使得质量控制措施落到实处。

      最后,高效的测试需要有强有力的工具和先进的方法支撑。所谓测试无极限,没有工具和方法的支撑,在有限的人力、时间和资源情况下,覆盖近乎无穷尽的测试需求是一个不可能完成的任务。在测试分析设计阶段,H3C提供经过实践检验的工程方法,指导测试工程师通过分析分解,抽象融合,以相对较少的测试方案有效覆盖最多的测试需求。在测试执行阶段,则有大量自开发和第三方的测试仪器和测试工具,辅助测试工程师高效率的开展复杂的测试,并且通过公司多年开发积累的系列自动化测试脚本来覆盖产品功能,保证每个发布版本达到100%的测试覆盖度。

         三、结束语

      测试,从来都不简单,也容不得半点马虎,只有知行合一,踏踏实实把每个环节做到极致,才能通过用户应用的最终考验。

     

  • 【转】2013最热门职位—软件测试高薪优待非你莫属

    2013-03-20 08:49:57

    爆灯女孩勇敢追求爱情,转角遇到自己的白马王子,对于求职者来说,一直在追求当下最热门的职位。试问2013最热门职位是什么?软件测试工程师!薪资待遇最优的职位是什么?软件测试工程师!!职位晋升最快的职位是什么?软件测试工程师!!!集诸多岗位优势于一身的软件测试工程师,再次成为求职热门职位,亲,2013求职,果断爆灯软件测试工程师吧,高薪优待非你莫属!!

    软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。软件测试的目的是:(1)从用户角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,已考虑是否可以接受产品。(2)从软件开发者出发,则希望软件测试成为表明软件产品不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。

612/4<1234>
Open Toolbar