Questions tagged «io»

IO(或I / O)是输入/输出的缩写,通常是指磁盘输入/输出。

1
如何进行I / O嗅探
为了确定大小,我需要了解应用程序对I / O子系统有哪些要求。我很乐意做我所谓的I / O嗅探,并从块层获取事件列表,如下所示: initiator XYZ requests block 4711 from device 0815 initiator BLA writes block 1234 to device 9876 有人告诉我blktrace是我要寻找的东西,但我无法从该工具获得此信息。
11 linux  io  block  trace 

2
您如何监视字符设备(例如磁带驱动器)的性能?
有许多方法可以监视块设备的性能:dstat和iostat,heck甚至sar都可以为您提供有关块设备I / O速率的数据。不幸的是,我不了解用于监视诸如磁带机之类的字符设备性能的任何出色的瞬间工具。 我知道有一些工具可以监视性能,如果您事先记得要做的话(pv,dd + SIGUSR1,可能还有其他),但是说您要花2个小时才能完成工作,这取决于性能,可能是3个小时还是30个小时,而且你不知道那是什么。 我唯一能想到的是对strace或类似方法的精心使用,解析输出以获取写入的字节,可能带有时间戳。有没有我忘记或从未听说过的常用工具?

2
MySQL在非常简单的SELECT查询上极其慢
我们有一个在虚拟机上运行的简单Web应用程序,它使用InnoDB引擎将其数据保存在MySQL 5.5数据库中。大约三年来,一切工作正常,但突然变得非常缓慢。 例如,我有一个非常简单的表,其中包含地址: CREATE TABLE `addresses` ( `address_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET latin1 NOT NULL, `firstname` varchar(64) CHARACTER SET latin1 NOT NULL, `street` varchar(64) CHARACTER SET latin1 NOT NULL, `housenumber` varchar(16) CHARACTER SET latin1 NOT NULL, `zip` varchar(5) CHARACTER SET latin1 NOT NULL, `city` varchar(64) CHARACTER …
10 linux  mysql  performance  io 

5
在EC2实例上的Ubuntu 12.04中由于I / O等待而导致高负载
我正在使用Ubuntu服务器12.04,无法找到负载原因,从上周开始我已经看到服务器响应时间的变化 阅读Linux故障排除,第一部分:高负载后 看来CPU和RAM没有问题,并且 使用我得到以下输出的命令,此负载可能与I / O绑定负载有关top 在这里97.6%wa,RAM是空闲的,不使用任何交换。 以下是iostat播种有的命令的输出89% iowait ubuntu@ip-my-sys-ubuntu:~$ iostat Linux 3.2.0-58-virtual (ip-172-31-6-203) 02/19/2015 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 3.05 0.01 3.64 89.50 3.76 0.03 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvdap1 69.91 3.81 964.37 978925 247942876 我还使用了iotop修复间隔显示99%I / O后,磁盘将I观察者写为1266 KB/s 和 是不好吗?随着响应时间的缩短。是什么原因造成的? 其他人要求的编辑 …

1
Windows“ iowait” CPU利用率报告
Windows是否以与Linux相同的方式处理和报告“ iowait”?也就是说,进程进入“不间断睡眠”,并且从“ CPU空闲”中减去所花费的时间? 如果是这样,那么哪个Perfmon计数器适合于检测“由于服务IO延迟而导致cpu繁忙”,而不是“由于计算而导致cpu繁忙”?

2
Amazon RDS:什么是IO请求?
我有一个RDS实例,花费了我很多钱。从我在亚马逊上的帐户活动中,我看到该实例在过去7天中已收到约800,000,000个IO请求。 为了给您一点视角,我的应用每天仅获得约6,000次唯一访问,它并没有建立那么多的数据库连接。 那么,IO请求到底是什么?为什么这个数字如此之高?如果有必要,我愿意尽我所能来降低成本,但是我不确定到底发生了什么。 我会很感激你的想法。
9 mysql  io  amazon-rds 

2
日志记录会损害MySQL的性能-但是,为什么呢?
我很惊讶我在网站上的任何地方都没有找到答案,也没有在MySQL文档中找到答案(5.2节似乎已经很好地记录了日志!) 如果启用binlog,我会发现(主观地)性能受到较小的影响,这会带来一些额外的IO,但是,当我启用常规查询日志时,就会看到巨大的性能影响(运行查询的时间增加了一倍,甚至更糟),远远超过了我在二进制日志中看到的内容。当然,我现在正在记录每个SELECT以及每个UPDATE / INSERT,但是其他守护程序会记录其每个请求(Apache,Exim),而不会停顿。 在IO方面,我只是刚刚看到接近性能“临界点”的影响,还是在日志记录查询中从根本上造成某种困难呢?我希望能够记录所有查询以简化开发,但是我无法证明那种感觉是我们需要通过常规查询登录来恢复性能的硬件。 我确实会记录慢速查询,并且如果禁用此功能,则一般用法的改进可以忽略不计。 (所有这些都是在Ubuntu 10.04 LTS,MySQLd 5.1.49上进行的,但研究表明这是一个相当普遍的问题)

1
每天写入5.5GB到1.2GB根卷-以前的水平的4倍
问题: 我最近对我的一台服务器进行了改造,在使用之前对其进行了测试,并且运行良好,但是几天前,我注意到对根卷的写入量约为通常的4倍。这不是性能问题-服务器运行正常。 我的改版相当广泛(全面重建),因此就事业而言,我没有太多事情要做。简要地说,我的更改包括: 升级Amazon的Linux(从2011.02到2011.09)-这也导致根卷从ext3更改为ext4 从php-fcgi移到php-fpm(当前使用tcp) 从反向代理(nginx-> Apache)设置转移到仅Nginx 用纯FTPD替换vsftpd 用opendkim代替dkim-proxy 用ispconfig替换webmin 添加清漆作为动态文件的缓存层(这些网站获得的点击量过高,但这是一个实验) 添加交换分区 基本设置: 我的交换空间安装自己的EBS卷上-在写入到交换卷忽略不计-我已经基本上打折以此为原因(有充足的可用内存-无一不free和iostat显示最小的交换使用)。 我的数据(mysql数据库,用户文件(网站),所有日志(来自/ var / log),邮件和清漆文件)都位于其自己的EBS卷上(使用mount --bind)。/mnt/data 我剩下的文件-操作系统和核心服务器应用程序(例如nginx,postfix,dovecot等)-是根卷上唯一的文件-总计1.2GB。 新设置比旧系统运行“更流畅”(速度更快,内存更少等),并且已经稳定了20天(10月中旬),据我所知,这段时间内一直存在较高的写入量。 与我的预期相反,我的读取量很低(就根卷的块和字节而言,我的读取量约为写入量的1.5%)。在过去几天中,我没有更改根卷上的任何内容(例如,新安装的软件等),但是写入量仍然远远高于预期。 目标:确定增加对根卷的写入的原因(本质上,确定它是一个进程(以及哪个进程),不同的(ext4)文件系统还是另一个问题(例如内存))。 系统信息: 平台:亚马逊的EC2(t1.micro) 操作系统:Amazon Linux 2011.09(源自CentOS / RHEL) Linux内核:2.6.35.14-97.44.amzn1.i686 架构:32位/ i686 磁盘:3个EBS卷: xvdap1,root,ext4文件系统(通过noatime挂载) xvdf,数据,xfs文件系统(已安装noatime,usrquota,grpquota) xvdg,交换 根和数据卷每天快照一次-但是,这应该是“读”操作,而不是写操作。(此外,在先前的服务器上使用了相同的做法-先前的服务器也是t1.micro。) 导致我查看I / O的数据包含在我上次AWS账单的详细信息中(该账单高于正常I / O,这并不出乎意料,因为我正在设置此服务器,并在一开始就安装了很多东西月份),然后按附加的EBS卷的CloudWatch指标。我通过推算11月份(当我没有更换服务器时)的I / O活动来估算每月价值,并将其与过去几个月不工作时的I / O进行比较,得出“正常4倍”的数字。在我以前的服务器上。(我没有来自先前服务器的确切iostat数据)。相同的写入量一直持续到11月,为170-330MB /小时。 诊断信息(以下输出的正常运行时间为20.6天): Cloudwatch指标: …

6
如何识别大量写入磁盘?
服务器运行CakePHP应用程序时出现此问题。服务器异常缓慢,我首先以为这是应用程序问题,但随后我发现以5-6MB / s的速度不断写入磁盘。 查找如此大量写入原因的最简单方法是什么? 服务器正在运行Gentoo。

1
Dmesg充满I / O错误,智能正常,四个磁盘受到影响
我正在使用新安装的远程服务器(Dell Poweredge)。它具有四个驱动器(2TB)和2个SSD(250 GB)。一个SSD包含操作系统(RHEL7),四个机械磁盘最终将包含一个oracle数据库。 尝试创建软件RAID阵列会导致磁盘不断被标记为故障。检查dmesg会输出一系列以下错误, [127491.711407] blk_update_request: I/O error, dev sde, sector 3907026080 [127491.719699] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [127491.719717] sd 0:0:4:0: [sde] Sense Key : Aborted Command [current] [127491.719726] sd 0:0:4:0: [sde] Add. Sense: Logical block guard check failed [127491.719734] sd 0:0:4:0: [sde] CDB: Read(32) [127491.719742] sd 0:0:4:0: …
8 redhat  hard-drive  io 

1
在高IO负载下rrdgraph生成失败
我们有一个4核CPU生产系统,它执行很多cronjobs,具有恒定的proc队列和通常的〜1.5负载。 在晚上,我们使用postgres做一些IO密集型工作。我们生成了一个显示负载/内存使用情况的图表(rrd-updates.sh)。这有时在高IO负载情况下“失败”。它几乎每天晚上都在发生,但并不是在每个高IO情况下都发生。 我的“正常”解决方案将是使postgres内容好看,使之离子化并增加图形生成的优先级。但是,这仍然失败。图形生成是带有群的半线程证明。我确实记录了执行时间,并且在高IO负载下,图形生成最多需要5分钟,这似乎导致图形丢失最多需要4分钟。 时间范围与postgres活动完全匹配(有时也会在一天中发生,尽管并不经常发生)进行实时Prio(C1 N6 graph_cron与C2 N3 postgres)之间的联系,在postgres上方进行联系(-5 graph_cron vs 10 postgres) )没有解决问题。 假设没有收集数据,另一个问题是ionice / nice仍然无法正常工作。 即使有90%的IOwait和100的负载,我仍然能够免费使用数据生成命令,而不会有超过5秒的延迟(至少在测试中)。 可悲的是,我无法在测试中准确地再现这一点(只有虚拟化的开发系统) 版本: 内核2.6.32-5-686-bigmem Debian Squeeze rrdtool 1.4.3 硬件:硬件LSAS的SAS 15K RPM HDD,硬件RAID1 挂载选项:ext3,带rw,errors = remount-ro 调度程序:CFQ crontab: * * * * * root flock -n /var/lock/rrd-updates.sh nice -n-1 ionice -c1 -n7 /opt/bin/rrd-updates.sh 似乎有一个与Oetiker先生在github上有关rrdcache的臭名昭著的可能的错误:https : …
8 linux  debian  io  rrdtool  ionice 

3
如何防止子树删除(`rm -rf`)使磁盘I / O的其他进程饿死?
对于繁忙的站点,我们有一个非常大的(多个GB)Nginx缓存目录,有时我们需要一次将其全部清除。过去,我已通过以下方法解决了该问题:将缓存文件夹移至新路径,在旧路径下创建一个新的缓存文件夹,然后rm -rf打开旧的缓存文件夹。 但是,近来,当我需要在一个繁忙的早晨清除缓存时rm -rf,由于Nginx及其所面向的服务器都是读取密集型的,因此I / O 使服务器的磁盘访问进程陷入饥饿。我可以观察到CPU闲置时的平均负载攀升,并rm -rf占用了98-99%的磁盘IO iotop。 ionice -c 3调用时rm,我已经尝试过了,但是它对观察到的行为似乎没有明显的影响。 有什么方法可以驯服rm -rf更多共享磁盘?我是否需要使用其他技术来借鉴ionice? 更新: 有问题的文件系统是一个AWS EC2实例存储(主磁盘是EBS)。该/etc/fstab条目如下所示: /dev/xvdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
8 linux  hard-drive  io  rm  ionice 

6
带有数据移动器的Linux I / O瓶颈
我有一台具有94.6GiB RAM的24核计算机,该计算机运行Ubuntu服务器10.04。与其他服务器(具有4个内核)运行相同类型和数量的进程的服务器不同,此设备正在经历较高的%iowait。两台计算机均通过4个FC卡连接到VNX Raid文件服务器,24核计算机,另一台通过2 GB以太网卡连接。4核计算机当前优于24核计算机,具有更高的CPU使用率和更低的iowait。 在9天的正常运行时间中,%iowait平均为16%,通常超过30%。大多数时候,CPU使用率非常低,大约为5%(由于较高的iowait)。有足够的可用内存。 我不明白的一件事是,为什么所有数据似乎都通过设备sdc而不是直接通过数据移动器: avg-cpu: %user %nice %system %iowait %steal %idle 6.11 0.39 0.75 16.01 0.00 76.74 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 1232 0 sdb 0.00 0.00 0.00 2960 0 sdc 1.53 43.71 44.54 36726612 37425026 dm-0 0.43 27.69 0.32 23269498 268696 dm-1 …

2
ESX 5.X是否缓存来宾IO?
我正在尝试查看guest虚拟机是否可以看到成功的磁盘刷新操作,但是主机实际上没有将其刷新到磁盘吗? ESXi如何与访客I / O一起使用?在被写入主机磁盘之前,它们是否被ESXi缓存?
3 linux  vmware-esxi  io 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.