Articles of io

从顶部的命令%wa高,有什么办法来限制它?

这是我的最后一个顶部的信息之前,它stucks: top – 18:26:10 up 238 days, 5:43, 3 users, load average: 1782.01, 1824.47, 1680.36 Tasks: 1938 total, 1 running, 1937 sleeping, 0 stopped, 0 zombie Cpu(s): 2.4%us, 3.0%sy, 0.0%ni, 0.0%id, 94.5%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 65923016k total, 65698400k used, 224616k free, 13828k buffers Swap: 33030136k total, 17799704k used, 15230432k free, 157316k cached 正如你所看到的,因为我已经启动了大约2000个执行hadoop get命令的进程,所以%wa非常高。 […]

通过ESXi 5.5u2和vSphere查找正确的IOPS以设置限制

我们正在运行一个ESXi 5.5u2虚拟机pipe理程序,该虚拟机pipe理程序有一个2个15k SAS驱动器的镜像,里面有一些虚拟机,如果另一个虚拟机正在使用所有的IO,我们注意到一些服务暂时无法访问。 所以我正在寻找一种方法,通过限制我们在vSphere中的虚拟机的IOPS来避免这种涓滴效应,因此每个虚拟机都有一个驱动器总数的一部分。 刚刚进入虚拟机设置资源选项卡并设置IOPS限制。 不是一件困难的事情(虽然我希望vSphere有一个Linux客户端),但是我注意到的一件事是IOPS限制并没有接近虚拟机实际获得的限制。 我正在使用一个名为VisualEsxtop的工具来描绘 IOPS等一系列事情。 我特别绘制的是CMDS / s,Reads / s和Writes / s。 为了find我的configuration的总IOPS,我用dd写了一个大文件,并从一个大文件读取(两个testing并行)进行简单的压力testing。 从这个angular度来看,我发现我的IOPS大约是270.根据我的理解,IOPS = num_reads + num_writes,但是将该逻辑应用于vSphere中的IOPS限制时,我看不到该连接。 设置一半的限制,使IOPS下降到40左右,并将其设置为2700给了我想要的总数的50%。 所以我有点被这个弄糊涂了。 我是如何确定自己的IOPS? 欢呼任何能够揭示这一点的人。

SQL跟踪显示什么types的IO?

他们是物理还是逻辑IO? 如果它们是逻辑的,有没有类似于生产服务器的STATISTICS IO的方法呢?

IO利用率为4920.45% – iostat -x,怎么了?

我曾经在服务器上看到错误地使用磁盘IO的次数很多,而且没有重新启动。 无论如何,这个服务器有很大的IO。 今晚它会重新启动,我确定明天我们会有很好的使用。 正常运行时间是497天。 root@xxxxxx:~# iostat -x 1 Linux 2.6.24-27-server (xxxxxx) 10/13/2011 avg-cpu: %user %nice %system %iowait %steal %idle 0.55 0.00 0.30 7.54 0.00 91.60 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm **%util** sda 17649.65 765.65 5478.46 5262.33 36185.00 48224.35 7.86 19.06 1.78 4.58 **4920.45** 唯一的事情是nagios认为这是至关重要的。 任何解释将是wellcomed。 先谢谢你。 稍后添加: 正如你所看到的,统计是0,而且百分比很慢。 Linux 2.6.24-27-server (xxxxxxx) […]

数据库服务器磁盘I / O利用率

我有一台Linux服务器,用于运行我的应用程序(MySql)的数据库,服务器有8GB RAM和4个内核。 除MySql之外,服务器上没有其他应用程序正在运行。 大多数情况下,服务器磁盘I / O利用率大约为90-100%。 这是一些额外的信息: Uptime: 2387312 Threads: 29 Questions: 344977869 Slow queries: 3380301 Opens: 200483225 Flush tables: 1 Open tables: 9 Queries per second avg: 144.504 数据库的大小约70GB,如果我不得不定义查询types,我会说60%是普通查询,其余更复杂(join几个表等) 根据Linode(托pipe服务器的位置),我使用New Relic来获取I / O利用率,服务器上的平均I / O为:每秒10780个块的IO速率 这是正常的吗?

对RAID 0性能有不合理的性能预期?

这是我第一次用硬件RAID卡构build一台机器。 我们购买了带有H710P RAID controller (1GB NV Cache) , 160GB Solid State Drive (SATA Read Intensive MLC 3Gbps)和两个3TB 7.2K RPM Near-Line SAS 6Gbps Hard Drives的戴尔T620 。 固态驱动器是非常致力于操作系统,以保持“跳转”。 两个SAS驱动器由RAID 0configuration。我们将这个空间视为分析划痕,所以我们不关心数据丢失。 我们需要的是高性能的IO,因为我们处理大量的大文件。 例如,我目前的项目是使用800-200个文件,大小为100-200GB。 不幸的是,我不得不将这些文件传输到计算机,分析它们,并删除它们。 令我惊讶的是,我有8个工作同时进行(转移,分析,删除),每项工作的运行时间超过20小时(而单个工作的工作时间约为3小时)。 我发现处理器在IO上等待(等待I / O完成的时间徘徊在20左右)。 我意识到这些只有7.2k RPM的驱动器,但我认为他们是相当有能力,因为戴尔列出他们在6Gbps。 BeowulfNode42在这里提到,一些驱动器获得广告的6Gbps接口,即使它们甚至不能饱和3Gbps链路。 但是我认为戴尔不会用高端服务器来做到这一点。 我漫步谷歌的土地,看看我的期望是不合理的,但我没有发现任何明确的。 问题:这个设置有什么合理的期望? IO显然是瓶颈。 RAID卡看起来相当不错,我认为硬盘非常好。 我跑hdparm看看我得到什么。 结果如下: >sudo /usr/sbin/hdparm -Tt /dev/sdb /dev/sdb: Timing cached reads: 19542 MB […]

Exchange 2003 I / O问题

我们有一些发送电子邮件到我们的Exchange 2003系统(在Win2K3 R2 32位)的内部stream程。 最近他们一直在间歇性地出现各种各样的错误 – 他们报告说“交换拒绝了连接”。 我们使用XWall作为我们的垃圾邮件filter(用于Outlook客户端集成的XWallfilter),并且还报告“连接无故closures”,这可能表示Exchange服务器遇到问题。 我们只有大约25个用户邮箱(总共大约20-25GB),并且机器上的CPU负载没有固定(这是一个8核戴尔w / 4GB RAM)。 我的猜测是它以某种方式绑定了I / O。 我们得到一吨的垃圾邮件,我的猜测是这个箱子跟不上。 我将如何去诊断这(用户邮箱不报告任何错误)? 我应该看看瓶颈在哪里 – 磁盘I / O? networkingI / O? 中央处理器? 等等。? 我如何调整Exchange? 是的,我可以看看任务pipe理器,但是这并不是真的告诉我任何事情。 谢谢!!

限制复印速度

不幸的是,在我们的一台服务器上,我们的硬盘性能非常糟糕,只要我们开始更大的复制过程,就会停止提供任何Apache响应,这真的很糟糕。 有没有办法限制一个拷贝过程的带宽,所以它不会消​​耗所有硬盘的性能,还为Apache和其他进程留下一些空间来完成他们的工作?

减less由nginx引起的IO

我有很多可用的RAM,但是我的IO总是100%util或者非常接近。 我可以通过使用更多的RAM来减lessIO的方式? 我的iotop显示最高io率的nginx工作进程。 这是一个文件服务器提供从1MB到2GB的文件。 这是我的nginx.conf #user nobody; worker_processes 32; worker_rlimit_nofile 10240; worker_rlimit_sigpending 32768; error_log logs/error.log crit; #pid logs/nginx.pid; events { worker_connections 51200; } http { include mime.types; default_type application/octet-stream; access_log off; limit_conn_log_level info; log_format xfs '$arg_id|$arg_usr|$remote_addr|$body_bytes_sent|$status'; sendfile off; tcp_nopush off; tcp_nodelay on; directio 4m; output_buffers 3 512k; reset_timedout_connection on; open_file_cache max=5000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses […]

DFS-R实际上是否将100%+更改写入接收服务器上的文件?

我正在分析Windows 2003 R2上的DFS-R,并遇到了一个可怕的事情。 看起来,当你将一小部分数据附加到一个大的(现有的)文件上时,你为其添加数据的服务器的写入成本就是数据; 当RECEIVING服务器的写入成本是整个文件+附加数据时。 意思是说,DFS-R在接收服务器上重写文件。 我想知道如果是这样,其他人已经遇到了这个问题。 我使用自写的程序分析了一个给定的文件(我给文件附加了100MB),然后我在文件中附加了一些数据(1MB)。 我使用Process Monitor的文件摘要function来查看在文件系统中发生的写入和读取字节。 我感到震惊。 什么样的事情可能被错误configuration? 谢谢, 马特