一切福田,不離方寸,從心而覓,感無不通。

各种raid简介

RAID 0即Data Stripping(数据分条技术)。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。我们通过RAID 0可以获得更大的单个逻辑盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。RAID 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据都会不保了。 问:RAID0至少几块盘? 答:RAID0最少要两块硬盘才能实现。 RAID 1,又称镜像方式,也就是数据的冗余。在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同样的数据)。同RAID 0相比,RAID 1首先考虑的是安全性,容量减半、速度不变。 问:RAID1至少几块盘? 答:RAID1最少要两块硬盘才能实现。 RAID 0+1 为了达到既高速又安全,出现了RAID 10(或者叫RAID 0+1),可以把RAID 10简单地理解成由多个磁盘组成的RAID 0阵列再进行镜像。 问:RAID0+1至少几块硬盘才能实现。 答:RAID0+1至少需要4块盘。 RAID 3和RAID 5 都是校验方式。 RAID 3的工作方式是用一块磁盘存放校验数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。 RAID 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。 问:RAID5需要几块硬盘?为什么损失一个盘的容量? 答:至少3块,RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。

龙生   15 Oct 2013
View Details

使用Microsoft Web Application Stress Tool对web进行压力测试

Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法。Web 压力测试通常是利用一些工具,例如微软的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。 虽然这些工具给我们测试服务器承受能力带来方便,但是它们的危害却更是惊人,甚至于利用随便一种比较全面的测试工具就可以对一台小型的 Web服务器发动灾难性的拒绝式攻击。下面我就带大家利用微软的Web Application Stress进行一次Web压力测试,其目的是为了让大家看到它的巨大危害。 一、工具简单介绍 Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的客户端计算机仿真大量用户上线对网站服务所可能造成的影响,在网站实际上线之前先对您所设计的网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。就是因为这些特性,才使它具备了D.O.S轰炸的功能。 小提示:D.O.S(拒绝服务攻击)通过使你的服务计算机崩溃或把它压跨来阻止你提供服务。简单来说,就是让你的计算机提供可能多的服务从而使你的计算机陷入崩溃的边缘或崩溃。 二、工具简单设置 打开Web Application Stress Tool,很简洁的一个页面(如图1),上面是工具栏,左下方是功能选项,右下方是详细设置选项。在对目标Web服务器进行压力测试之前,先对它进行一些必要的设置。 图1 1. 在“settings”的功能设置中(如图2),一个是Stress level (threads)这里是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,更加形象的就是说设置多少轰炸的线程数。一般填写 500~1000,因为这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么设置的越高,轰炸的效果越好。 要改变并发用户数,点Settings图标。如果少于100个用户,你可以直接设置Stress Level,要模拟多于100个用户,你还须设置Stress Multiplier。基本公式为:用户数(线程数)= Stress Level * Stress Multiplier.如果要模拟1,000个用户,你可以设置Stress Level为100而Stress Multiplier为10。 图2 2.在“Test Run Time”中来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别,你根据实际情况来设置吧! 3.其余的选项不太重要,这里就不再浪费笔墨,朋友们可以自己尝试一下设置。 三、压力测试 工具介绍完了,下面来准备条件:这里与一个朋友商量好进行测试,他是单机上网,机器配置是CPU:Athlon XP2500+、内存512MB、硬盘80GB等,机器配置还不错。他在机器上安装了IIS,架设了一台对外的Web服务器,Web服务中的程序是动网 7.0。我就利用压力测试工具对这台服务器进行测试。 步骤1:在工具中点右键,选择Add命令,增加了一个新的测试项目:New script,对它进行设置,在主选项中的server中填写要测试的服务器的IP地址。在下方选择测试的Web连接方式,这里的方式Verb选择 get,path选择要测试的Web页面路径,这里填写/Index.asp,即动网的首页文件(如图3)。 图3 步骤2:在“Settings”的功能设置中将Stress level (threads)线程数设置为1000。完毕后,点工具中的灰色三角按钮即可进行测试(如图4)。测试完毕,等待朋友把任务管理器以及连接查看的截图发过来! 图4 攻击开始后,朋友从任务管理器中可以看到CPU使用率已经达到100%,损耗率达到最大(如图5)。在CMD窗口中使用命令netstat -an,可以看到我的IP地址在朋友服务器上的80端口进行了非常多的连接(如图6)。而且它的Web网站已经打不开了,提示过多用户连接,达到了跟 D.O.S攻击一样的目的。 图5 图6 试想,如果利用多台肉鸡对一台服务器进行Web压力测试,那么对这台服务器来说将是灭顶之灾,所以朋友们在使用它之前一定要慎重考虑。 分析测试结果 你可以点工具条上的Reports图标来看产生的报告。这将产生一个与Script tab相临的新的tab。报告被存储在一个大纲视图里。首先,在你的报告下面点Result Codes,这个将给你一个快速的印象,这次测试是否出现了什么问题。如果你看到的状态代码不是200,你也许需要调查一下出现了什么问题,通常的问题包括署名和不正确的URL路径。 点Overview,你将看到这个测试活动的一个简要快速的分析。从ASP的技术角度看,Request per Second,是一个需要深入分析的关键值。这个值越高越好。通常,如果你不能从使用报告和预算中决定出一个特定的目标,你可以让ASP 的Requests per Second值高于30,当然这个ASP是没有连数据库或使用其他组件的。因为可以预见,连接数据库将增加程序的负担。 虽然有Request per Second这个计数器默认包含在WAS里,你也许想增加其他的计数器。你可以在点了Perf Counters的图标后通过点Add Counter来增加其他的计数器。一个特别有用的计数器是ASP Requests Queued,这个计数器往往是在识别一个阻塞或长期驻留的页面或组件时的关键。关于分析ASP性能的资源有: · Tuning Internet Information Server Performance · Navigating the Maze of Settings for Web Server Performance Optimization · IIS 4 Resource Kit 影响性能和可测量性的因素 服务器组成,数据库访问,和其他因素会大大降低ASP的Request per Second值。不同的配置选择也会起到不同的作用,在这里我要指出几个常出现的因素: · 如果你在访问一个数据库,你是否有做连接池?关于连接池的详细资料请看Pooling in […]

龙生   15 Oct 2013
View Details