关键瓶颈是磁盘I/O,并非CPU。需要跟进的事情是﹕
1 在旧主机上面,先监测出跑报表所需要的IOPS有多少?并精算VM硬盘。
2 如果文档复制会占用主机所有的IOPS,这种工作不适合跟其他VM共享磁盘。
所以,如果要拆开,主因并不是CPU不够用(跑报表跟文档复制,根本用不到多少CPU资源),而是磁盘的I/O资源会被文档复制全部占用,造成其他的VM排队等候。
在虚拟化软件的选择上,如果是VMware ESX(i),可以透过vSphere Client或vCenter新增Resource pool,来设定Guest OS的CPU资源。
可以测试一下:报表跑数据大量择取的时候,使用“Windows工作管理员/处理程序”查看CPU与内存以及I/O的状态。
虽然将它们放在同一台主机,但是文档服务给它一个完全独立的磁盘子系统,不跟其他VM共用,那这样就不会有以上的顾虑,还是可以放在一起。
例如,你可以买一台SAN给文档服务的VM专用,但另买一台SAN给其他的VM共用,最后,数据库的问题还是要回到IOPS上来。我遇过80%以上想做虚拟化的新手,都不知道原本旧主机上数据库的瓶颈是在Disk I/O。一般说来,跑ERP报表吃掉1,000~3,000 IOPS是很常见的状况,这代表RAID至少要5到15颗以上来组合,才足够应付这样的IOPS。
根据以往的经验,在看到这个数据之前,用户都一直认为瓶颈是CPU,所以要换新主机来提升CPU,但看过监测数据之后才知道,其实瓶颈都在IOPS。
补充一下,一般状况下,一颗SATA硬盘的IOPS只有70到80左右,一颗15K SAS硬盘的IOPS,大约200到240左右。组成RAID多颗硬盘时,IOPS会跟着你的硬盘数量而增加,例如使用96颗硬盘组成RAID-5的一台Dell MD3200i,实测数据上,IOPS可以高达40,000。哥们的描述很模糊哦,
在线访问,说明应该有可视化界面,可以使用loadrunner工具去录制界面 *** 作然后跑并发即可,设置Vuser数,Vuser数一定条件下可以理解为你的在线用户数。将这个值一直往上加,压到你的服务器CPU,MEN,IO等还剩下20%左右的时候得出最大活跃用户数,然后再反推在线用户数。
PS:
用户在线对服务器的压力不大,登陆后未必会 *** 作, *** 作的话也未必会同时 *** 作,压力点在于活跃用户数,比如1000个在线,有100个用户处于活跃状态,其他900个非活跃状态。那么就是1:9
至于我说得方法合不合适,还得根据你服务器的实际情况而论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)