灿烂的阳光,苦涩的生活,认真做,你能行!

发布新日志

  • Linux iostat监测IO状态

    2011-08-29 11:13:55

    Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

    1. 基本使用

    $iostat -d -k 1 10

    参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。

    $iostat -d -k 1 10 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 39.29 21.14 1.44 441339807 29990031 sda1 0.00 0.00 0.00 1623 523 sda2 1.32 1.43 4.54 29834273 94827104 sda3 6.30 0.85 24.95 17816289 520725244 sda5 0.85 0.46 3.40 9543503 70970116 sda6 0.00 0.00 0.00 550 236 sda7 0.00 0.00 0.00 406 0 sda8 0.00 0.00 0.00 406 0 sda9 0.00 0.00 0.00 406 0 sda10 60.68 18.35 71.43 383002263 1490928140 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 327.55 5159.18 102.04 5056 100 sda1 0.00 0.00 0.00 0 0

    tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

    kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

    上面的例子中,我们可以看到磁盘sda以及它的各个分区的统计数据,当时统计的磁盘总TPS是39.29,下面是各个分区的TPS。(因为是瞬间值,所以总TPS并不严格等于各个分区TPS的总和)

    2. -x 参数

    使用-x参数我们可以获得更多统计信息。

    iostat -d -x -k 1 10 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 1.56 28.31 7.80 31.49 42.51 2.92 21.26 1.46 1.16 0.03 0.79 2.62 10.28 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 2.00 20.00 381.00 7.00 12320.00 216.00 6160.00 108.00 32.31 1.75 4.50 2.17 84.20

    rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。

    rsec/s:每秒读取的扇区数;wsec/:每秒写入的扇区数。r/s:The number of read requests that were issued to the device per second;w/s:The number of write requests that were issued to the device per second;

    await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

    %util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

    3. -c 参数

    iostat还可以用来获取cpu部分状态值:

    iostat -c 1 10 avg-cpu: %user %nice %sys %iowait %idle 1.98 0.00 0.35 11.45 86.22 avg-cpu: %user %nice %sys %iowait %idle 1.62 0.00 0.25 34.46 63.67

    4. 常见用法

    $iostat -d -k 1 10 #查看TPS和吞吐量信息 iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态

    5. 实例分析

    $$iostat -d -k 1 |grep sda10 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda10 60.72 18.95 71.53 395637647 1493241908 sda10 299.02 4266.67 129.41 4352 132 sda10 483.84 4589.90 4117.17 4544 4076 sda10 218.00 3360.00 100.00 3360 100 sda10 546.00 8784.00 124.00 8784 124 sda10 827.00 13232.00 136.00 13232 136

    上面看到,磁盘每秒传输次数平均约400;每秒磁盘读取约5MB,写入约1MB。

    iostat -d -x -k 1 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 1.56 28.31 7.84 31.50 43.65 3.16 21.82 1.58 1.19 0.03 0.80 2.61 10.29 sda 1.98 24.75 419.80 6.93 13465.35 253.47 6732.67 126.73 32.15 2.00 4.70 2.00 85.25 sda 3.06 41.84 444.90 54.08 14204.08 2048.98 7102.04 1024.49 32.57 2.10 4.21 1.85 92.24

    可以看到磁盘的平均响应时间<5ms,磁盘使用率>80。磁盘响应正常,但是已经很繁忙了。

  • windows 2003“超出最大允许连接数"解决方法

    2008-11-18 16:11:53

    通常情况下,企业中有多个管理员,他们都有权限可以登录到终端服务器。默认情况下,administrator的远程桌面连接数2个。如果此时正好有两个管理员远程桌面连接到终端服务器,那么第三个管理员就不能登陆,会提示“终端服务器超出了最大允许连接数”,无法进行登录。(图4)

     

     


        
        另外,某些管理员远程登录结束后不是按照常规做法从终端服务器中注销用户,而是直接端口连接。这样的话,虽然远程用户已经断开了与终端服务器的远程桌面连接,但是session(会话)还停留在服务器端,也会有上面的提示造成无法登录。

      对于这一问题就笔者所知有四种解决办法:

      (1).本地登录(控制台登录)到终端服务器,远程登录的用户会自动被注销。如果还有用户没有注销,可以在打开“任务管理器”,点击“用户”标签然后选择远程登的用户点击右键选择“注销”即可。(图5)

     

        (2).如果终端服务器开启了telnet服务,我们可以telnet到终端服务器,然后通过命令注销(踢出)用户。首先输入命令“query user”查看当前的登录,然后选择相应的用户通过命令logoff ID来注销该用户。其中ID是系统分配给用户的标识,它是唯一的。比如我们输入logoff 2,就注销了ID为2的用户的远程登录,那么其他用户就可以登录了。(图6)

     

       


        
        (3).限制已经断开连接的session存在的时间,当超过时间后会自动进行注销,其原理是修改终端服务器配置来实现的。操作步骤是:

      第一步:点击“开始”,依次定位到“控制面板→管理工具→终端服务配置”,在“终端服务配置”

      窗口,点击左侧的“连接”然后双击窗格右侧的“RDP-Tcp”打开其属性设置对话框。(图7)

     

     

        第二步:点击“会话”标签,勾选“替代用户设置”激活下面的选项,然后在“结束已断开的会话”后面的下拉列表中选择一个时间,比如我们选择30分钟。这样当断开连接30分钟内没有再次连接的话,系统就会技术这个session(会话)。(图8)

     

       


        
        第三步:点击“网卡”标签,修改“最多连接数”,默认是2,大家可以根据自己的需要进行修改。不过,数字不宜过大,否则会占用终端服务器的系统资源。

      (4).上面的三个方法可以解决问题,但笔者认为最彻底的解决方案是增加终端服务器的连接数,我们通过组策略来实现,操作步骤是:

      第一步:点击“开始→运行”,输入gpedit.msc打开组策略编辑器,依次展开“计算机配置→管理模板→Windows 组件→终端服务”,双击右边的“限制连接数量”,点选“已启用”,在“TS 允许的最大连接数”后面根据自己的需要输入一个连接数。

      第二步:点击左侧的“会话”,然后双击右侧的“为断开的会话设置时间限制”,点选“已启用”,在“结束断开连接的会话”后的下拉列表中选择一个时间,比如我们选择“30分钟”。(图9)

     

       

  • 解决cisvc.exe进程占用大量内存空间

    2008-11-13 13:51:42

    cisvc.exe
    cisvc - cisvc.exe - 进程信息
    进程文件: cisvc 或者 cisvc.exe
    进程名称: Microsoft Index Service Helper
    描述:
    cisvc.exe是微软Windows操作系统自带的程序。它用于监测CIDAEMON.exe内存使用状态,防止可用内存过低问题,如果cidaemon.exe内存使用超过了40M,则自动重新启动该进程。这是一个系统进程,不要进行删除。

    解决cisvc.exe进程占用大量内存空间:

    解决方法:CIDAEMON.EXE和CISVC.EXE不是木马程序,可以用如下方法停用,停用后,就不会浪费大量内存了.在桌面上的 我的电脑 图标上右键单击,选取 ”管理”,打开 ”服务” ,右键单击 ”Indexing Service” ,选取 ”禁用”.这样就可以了

  • 屏蔽或关闭网通的域名纠错系统

    2008-11-11 14:57:42

    用网通的客户在上网过程中,某些原本可以正常打开的正规网站,实然之间在打开时总是转到网通的“域名纠错系统”,给大家的正常上网带来很多不便。打电话至网通的客服(10060),他们的技术顾问也会向你说些无法解决的废话。
    且不论网通的这种服务是好是坏(个人认为此服务纯属多余、不务正业),大家最关注的是怎样去解决这个问题。
    首先谈一下为什么会出现这种问题。我们知道在网络上访问网站,要首先通过DNS服务器把要访问的网络域名(XXXX.com)解析成XXX.XXX.XXX.XXX的IP地址后,计算机才能对这个网络域名进行访问;当然,也可以事先在本地电脑的Hosts文件中建立域名和IP的映射关系来达到访问网络域名时通过本地域名解析直达IP地址的目的。根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有这个网络域名映射关系。如果有,则调用这个IP地址映射,如果没有,再向已知的DNS服务器提出域名解析。也就是说hosts文件实际上可以看成是一个本机的DNS系统,它可以负责把域名解释成IP地址,它的优先权比DNS服务器要高,它的具体实现是TCP/IP协议中的一部分,实现了域名解析的本地化。有关Hosts的知识可以查看Hosts的百度百科http://baike.baidu.com/view/597330.htm
    根据上面所说的我们就可以明白,那些在我们访问时被强制转到网通的“域名纠错系统”的网站,就是在被访问的网络域名通过网通的DNS进行解析时,被网通强制作了“网站错误、无法访问”的处理,进而页面被转到网通的“域名纠错系统”。由此看来,要解决这一问题,就需要在DNS服务器上下手,一种是更换网通提供的DNS(网上较为流行,旦不实用),一种是访问网站时通过设置Hosts让被阻的网站绕过网通的DNS解析(被网通强制转换的网站太多时,此法显得太麻烦),还有最后一种是通过设置Hosts屏蔽网通的“域名纠错系统”网站(此法以不变应万变)。
    那么怎样实现最后一种方法的设置呢?
    首先,找到电脑上的Hosts文件,并打开。
    在Windows 98系统下该文件在Windows文件夹。在Windows 2000/XP/Vista系统中位于\%Systemroot%\System32\Drivers\Etc 文件夹中,其中,%Systemroot%指系统安装路径。例如,Windows XP 安装在C:\WINDOWS,那么Hosts文件就在C:\WINDOWS\system32\drivers\etc中。你也可以用windows自带的查找功能搜索找到hosts文件。该文件其实是一个纯文本的文件,用普通的文本编辑软件如记事本等都能打开和编辑。
    其次,在打开的Hosts文件中输入:“127.0.0.1 *.cncmax.cn”(引号内的内容),并保存。
    通过观查我们可以发现,每次页面转到“域名纠错系统”网站时,“域名纠错系统”网址都不太一样,但有一点没变,那就是都以cncmax.cn收尾,这样我们在其前面加一个通配符“*”,则可实现屏蔽所有以cncmax.cn结尾的“域名纠错系统”网址。
    通过上面的设置即可屏蔽网通的“域名纠错系统”,此法对于解决电信用户的114错误一样有效。只要把cncmax.cn换成电信的114错误网址即可。同样,由于各地网通“域名纠错系统”网址的不相同,把cncmax
  • Windows Media Services (流媒体服务器)的配置

    2008-10-14 17:10:34

    1. 开始->所有程序 ->控制面板->添加删除程序->添加/删除windows组件;

    2. 选择windows Media Services点击“下一步”依次安装;

    3. 开始->程序->管理工具中选择windows Media Services;

    4. 建立发布点;

    Microsoft 的 Windows Media 流系统平台提供了颇为完整的产品线,从制作端的Windows

     Media Author, Windows Media ASF Indexer,到编码用的 Windows Media Encoder,伺服传送

    内容用的 Windows Media Server,还有保护智慧财产权的 Windows Media Rights Manager,

    只是相较于RealNetworks,在各个产品的功能深度上都稍嫌不足;当然对一个完全免费的流平台,

    这样的功能的确已经是难能可贵了。而且Windows Media 还比 RealNetworks 多提供了伺服负载模拟

    程式 (Load-Simulator),可以让系统模拟实际上线的负载情况,测试系统伺服能力的极限,避免太多

    使用者涌入时系统无法负荷。Windows Media Encoder (当然这里可以用广州视盈数码科技有限公司

    的Nowstream软件来实现)另外也多提供了屏幕捕捉的功能。此项屏幕捕捉的功能可以将大小视窗的

    所有内容及游标移动的过程全部纪录在高度压缩的流视频文件中,对于有教育训练等需求的使用者

    是个很好用的工具。

      在正式介绍流媒体服务器架设之前,我们先来了解一下流媒体的概念:
    流媒体实际上是个技术名词。
    随着宽带成为网络架构的重点,网络上的信息不再只是文本、图象或者简单的声音文件,
    流媒体也就是Streaming Media由此孕育而生.
      流媒体不同于传统的多媒体,从前,多媒体文件需要从服务器上下载之后才能播放,一个一分钟
    的视频文件,在56K的窄带网络上至少需要30分钟进行下载。而流媒体的特点是运用可变带宽技术,
    使人们可以在28K到1200K的带宽环境下在线欣赏高品质音频和视频节目。 
      到目前为止,互联网使用较多的流媒体格式主要有美国Real Networks公司的RealMedia和微软
    公司的Windows Media。不过,随着信息技术的发展,流媒体还有着广阔应用的空间。
     

    下面了解一下流媒体服务器的一些概念:
      首先我们来理解一下什么叫单播,什么叫多播,其实单播的概念就是一个:只播放本地服务器
    的媒体文件。例如:ASFroot 下的文件就是用于单播的,简单点来说就是单单对外播放。
      多播的概念比单播只是深了一个层次。大家都有看新闻吧,新闻的现场直播不错吧? 多播的概念
    与电视台差不多,现在来分析一下电视台,电视台有固定的发射频率,服务器也有固定的 IP,两者
    本质上是一样的。
    以下用逻辑点来说明:
    电视台(简称 A 点)放电视剧就把录像带(简称 B 点)插进去就行了。
    服务器把自己的文件共享出来就行了,这就是单播。
    电视台做直播,直播地点(简称 C 点)要将信号发射到电视台,电视台再对外发射。
    服务器接收到一个数据源,再将这个数据源对外共享。
    无论怎样,用户(简称D点)访问的时候不是直接访问源头,而是访问电视台(服务器),这就是多播。
    多播的概念就是 D-> A <-B、C 这个架构。
    (B或者C 发送数据到 A, D 访问 A)
    狭义上 B 点是固定的,它只是录像带,用 B 这个方案就是单播。
    C 点是活动的(直播地方嘛,当然是活动的), C 这个方案就是多播。
    Media Server(以下简称MS) 支持同时单播与多播。
      对于C点这个位置,MS可以使用Nowstream编码软件来实现(或者media Encoder)。当然编码卡
    也是必须的,笔者采用视盈数码科技公司的HVC400 MPEG4硬件编码器来实现。对于 MS 来说,只允许
    本地拥有 Administrator(NetShowSevice) 权限的用户作出配置,现在我们再来说说流媒体服务器
    支持的文件格式,windows media server支持的格式主要有:asf、wmv、wma。
      好了,说了那么多,该到正题了,我们的目的是做一个windows media server流媒体格式文件
    的流媒体服务器。
      现在市面上能够买到的一些电影文件有rm格式和wmv格式。还有一些是DivX技术的avi格式,要想
    让你的服务器对他们通吃,不是没有办法,现在realsystem的最新流媒体服务端软件Helix Server
    已经支持windows media了不过,到现在为止,还没有人破解它的授权算法,呵呵,授权价格是很贵的
    ,我想很多人是没有这个购买力的,我们现在只好使用已经破解了的realserver8这个软件了,但
    realserver8不支持windowsmedia,要想实现“通吃”,只能在一台服务器上架设两种流媒体服务器,
    当然如果对流媒体知识不深的朋友建议用windows media server。
     
     
    一、windows media server的架建第一步添加Media services 9
      windows media server是微软免费提供的一个流媒体服务端软件(当然不是真的免费,你想想
    windows2003专业版跟企业版要多少钱,不过我用盗版)在2003光盘中可以找到,在装windows2003时
    可以选择这个服务,如果装2003系统时,你没有选择添加这个服务,你也可以在"添加删除程序"里选择
    添加这个服务(不要告诉我你不会装windows2003)添加后,你的机器就已经拥有了windows media
    server服务了media services 9,你可以把asf、wmv等文件放到C:\WMPub\WMRoot中,
    用mms://地址/文件名的方式来访问你放进去的那个文件了,呵呵,怎么样?简单吧?不过,
    你不可能真的就用c盘来存放那么多的流媒体文件吧?我们要做的是更改流媒体服务器的主目录,
    就是说我们可以在另外的分区建立一个目录来存放这些文件,当用mms://地址/文件名访问的时候
    是访问你建立的那个目录里的文件而不是C:\WMPub\WMRoot中的文件。
    二、在服务器上安装HVC400编码器和Nowstream编码软件,来实现实况流的直播或定时直播、
    实况流的拉传递功能、实况流的推传递功能、文件保存或定时保存等。为什么要用
    Nowstream跟HVC 400编码卡而不用采集卡呢?因为:HVC400是一款高压缩比,高清晰度,
    质量稳定的MPEG-4硬件压缩卡。它是基于支持多格式的单芯片压缩技术的产品,该技术运用
    多重运算法则把原视音频信号压缩并接合成不同格式的流文件,从而保证了视频跟音频在
    时间上的同步。HVC400支持包括WMV,DIVX,MPEG-1,MPEG-2等在内的多种文件格式的
    硬件压缩,硬件压缩技术大大的节省了系统的资源,因此能在普通PC机上轻松实现四路卡
    同时运行。HVC400的配套软件-NOWSTREAM,可以支持四张卡同时运作,每一路卡可以独立
    运行于不同的码率和图像分辨率,操作简单,使用稳定。HVC400也是高清晰视频压缩用户
    的好选择,它在1.5Mbps的低码率下就可以实现接近DVD的图象质量。
    1.实况流发布单播的方法
    1)打开Nowstream编码软件后,打开软件设置:码率、分辨率、视频输入等,来实现实况流
    的单播。
     
     
    2) 在“输出参数”选上“保存到文件”、“本机发布到服务器”。
     
     
    3)如果需要定时单播发布功能,则选择“定时参数”添加一个任务来实现。
     
     
    4)然后对着预览窗点击右键选“开始”运行,就简单实现实况流单播发
     
    5)接收端的设置。接收端可以是Internet用户,也可以是局域网的用户,接收软件都可以
    直接用Windows Media Player 9或以上版本。运行Media Player,在“文件”菜单选
    “打开URL”,如下图。
     
     
    Internet用户,在上图“打开”栏里输入服务器的IP地址和端口号,
    mms://219.136.128.169:9001;局域网用户,在上图“打开”栏里输入服务器的IP地址
    和端口号,如mms://192.168.1.58:9001,就可以收了。
    2.实况流的拉传递功能的实现
    1)实况流发布单播后,可以对发布的实况流(逻辑中的C)做拉传递到Media Server进行分发、
    管理、授权等等,可以说实现了多播(多播的概念就是 D-> A <-B、C 这个架构)。
    2)运行Media Service,如下图添加一个高级的发布点。
     
    3)弹出对话框如下,选“广播” 的“发布点类型”,输入“发布点名称”(最好起一个能
    代表发布点直播节目的名称),在“内容的位置”栏填上采集端的IP地址和端口号。
     
     
    4)按“确定”就能成功建立一个发布点,为了发布点的对外发布运行
     
     
    5)选“多播信息文件(.nsc)和公告文件(.asx)”按“下一步”,在新弹出的对话框中按
    “添加”。
     
     
    6)按“确定”,再按“下一步”,一直到“完成”,会弹出一个“测试多播公告”框,
    如下,按“退出”。多播公告,把该发布点选中,在“公告”栏按一下
     
    7)现在可以看见“发布点”增加了一个叫Webviews-cast1的发布点。在可以在IE地址栏输入mms://192.168.1.88/Webviews-cast1来收看该发布点正在直播的节目。
    8)利用本机做成服务器的,配合Media Service进行拉传递的特点:
        操作简单方便,采集端跟发布服务器端可以是同一台电脑,也可以分开两台电脑。
    运行了多播公告之后,可用运用组播技术,前提是安装IIS,把“多播公告信息文件”保存到
    IIS的Web默认文件夹里;组播技术是在增加客户端接收直播的情况下,输出带宽几乎不变,
    发布服务器输出带宽不会因客户端增加多少而增加。
     
     
    3.实况流的推传递功能
    1)运行Windows Media Services,按鼠标右键,建立一个广播发布点。如下图:“运行多播
    公告向导”,弹出对话框如下图。
     
    2)在添加服务器那里输入本机的IP地址,如:
     
     
    3)按“确定”之后,就会增加了一个服务器,然后对该服务器的“属性”->
    “WMS…服务器控制协议”项进行设置,如图:
     
    4)按“确定”之后,在“属性”栏,“授权”类,“WMS发布点ACL授权”启用:
     
     
    5)建立发布点之后,在NowStream的“输出参数”栏选“推到WMS服务器”
    再把相应的参数设好,
    如下图,注意,“端口号”的设定要跟2.3点Media Service发布点的端口设定相同。
     
     
    6)在NowStream按“开始”之后,软件会把视音频流推到WMS服务器上面,这时候,
    Windows Media Service会显示出一个名叫NowStream的发布点,如下图:
     
     
    7)客户端只需在Media Player输入相应的URL就可以收看该发布点发布的节目流。
    其中192.168.1.88是服务器的IP地址,NowStream是该发布点的名称。
     
     
    8)用“推到WMS服务器”进行WMV直播的特点:
    “推到WMS服务器”这种模式是定时网络视频直播的首选。把Media Service的一些参数
    配置好之后,只要采集端开始把流推出去之后,在Media Service上就会自动生成一个
    发布点用户端可以直接接到改发布点上观看正在直播的节目。对于做定时,分时段网络
    直播的用户,给予了极大的方便。
    9)文件保存或定时保存用Nowstream编码软件使用起来就更加简单易用。这里就不加详细
    说明(详情请到:http://www.webviews.com.cn/....)。
     
     
    三.Media server实现点播发布的操作方法跟直播流的发布几乎一样简单易用,
    只需在添中发布点类型里选择“点播”,接下来的步骤朋友们都知道啦。如下图
     
     

     

     
     

     

Open Toolbar