LBA (逻辑块地址)是在FTL中实现的映射表,以便在SSD中的逻辑和物理页面/块之间进行匹配,我猜测大多数SSD (至less在它们是空的时候)保持物理地址的顺序与逻辑1(物理地址0映射为逻辑地址0,1映射1,依此类推)。 当页面被更改时, SSD控制器将更新的页面复制到caching中,更改页面,将旧页面标记为“ 无效 / 陈旧 ”,然后将新页面写入其他位置并更新LBA。 所以,即使物理地址与逻辑地址一致,也需要一些写操作,这个命令将会搞乱! 为什么连续写入比随机写入有更好的性能呢? 编辑 连续写入和随机写入之间的性能不足,无论块大小还是队列深度。
我想永久更改Fedora 20上特定磁盘的I / O调度程序。根据我的发现,这可以通过以root身份执行以下shell行来实现: echo {SCHEDULER-NAME}> / sys / block / {DEVICE-NAME} / queue / scheduler 但是,重新启动后,更改将丢失。 看来,实现我想要的是一个意思是创build一个systemd服务,但我完全丢失,因为它必须执行磁盘安装后。 有人可以帮我写这样一个系统服务吗? 任何其他可行的解决scheme也是受欢迎的。
我们最近运行了Dell Performance Analysis Collection套件,该套件通过WMI监控您的服务器24小时。 您将该文件发送给戴尔,他们会返回带有IOPS和MB / S磁盘使用情况的报告。 这为我们揭示了一些有趣的数据,我们希望进一步研究。 这只是戴尔的销售工具,但有没有类似的工具,我们可以下载/购买使用,生成我们自己的报告? 更好的办法是告诉我们使用IO的过程是什么。
我们有一个专用的SQL Server 2008 R2企业版。 设置是: D :(数据文件) – 存储在本地ssd磁盘上(与日志文件不同)(raid 10) E:(日志文件) – 存储在本地ssd磁盘上(与数据文件不同)(raid 1) F :(事务日志备份) – 远程存储在SAN上 今天我们把日志文件移到新的磁盘上(从F:到E :)。 从共享卷(F:(SAN))到专用本地磁盘(E :)。 然后会发生什么是在我们有数据文件的卷(D :)(不在日志文件所在的卷上)增加了“磁盘时间”,“平均传输时间”和“平均磁盘写入队列长度” )。 数据卷和日志卷不共享磁盘,但共享相同的控制器卡。 所有卷的“磁盘空闲时间”都很低。 一个想法是,控制卡可能会过载。 但是,我们需要更多的想法来解决问题。 更新: RAID控制器是DELL PERC H700(512 MBcaching)。 服务器是戴尔R910 。 在高峰时段我们有大约2500笔交易/秒。 自从我们移动日志文件(即使在低stream量时间)以来,“磁盘时间”计数器已经达到了100%。 对于D:(数据文件)和E :(日志文件),“磁盘空闲时间”约为98-99% 我们已经为数据磁盘和日志磁盘configuration了回写caching。 等待统计看起来像这样: wait_type wait_time_s ——— ———– BROKER_TASK_STOP 1283336.21 FT_IFTS_SCHEDULER_IDLE_WAIT 101357.47 PAGELATCH_EX 89712.72 BROKER_TRANSMITTER 75894.76 XE_TIMER_EVENT […]
Ubuntu 12.04和MySQL有一个非常奇怪的IO问题。 目前该机器只是一个复制的奴隶偶尔读取查询击中它。 磁盘利用率随机增加,似乎与MySQL的使用无关。 机器只运行MySQL,没有其他服务。 本来机器使用的是ext4,它遇到了MySQL的IO问题,我把它擦干净,然后用ext3重新安装。 复制后恢复磁盘利用率再次随机飙升,保持高点几个小时,并再次下降。 MySQL的使用情况每天都遵循相同的模式,但是磁盘利用率没有任何变化,随机激增,在几个小时或者几分钟内就可以保持高点。 凌晨1点,每秒钟都有一次,这是我们的MySQL备份(mysqldump)运行并且一致的情况。 我的下一步是降级到Ubuntu 10.04,这台机器以前运行的是Debian 5,没有任何问题。 我们有第二台同样的机器,在我的脑海里,排除了一个单一的硬件问题。 磁盘利用率图: 下午5点的初始峰值是在重新安装后的复制追赶,上午1点的峰值是我们的备份。 这个问题在凌晨4点出现,并且一直保持到12点之后才出现大幅下降。 MySQL Weekly Graph 这是我们平均每周使用MySQL的次数。 每天同样的模式,从上午9点到晚上11点最繁忙,从这里安静到上午9点,每天凌晨4点左右再降到最低点。 发生问题时Iostat输出: http://pastebin.ca/2336462 的/ proc /坐骑: http://pastebin.ca/2336464 df -h: http://pastebin.ca/2336465
我正在将数据迁移到LUKS分区。 现在操作系统驱动器运行LUKS,我试图开始迁移数据驱动器。 然后服务器停止响应。 此LUKS设备已打开: cryptsetup luksOpen /dev/sdc data1 而这些命令中的任何一个都会扼杀服务器: pv /dev/zero > /dev/mapper/data1 pv /dev/zero > /dev/sdc 不是马上,但在几秒钟内,服务器变得非常慢。 在I / O上阻塞的所有东西: root@node51 [~]# ps aux | awk '{if($8~"D"||$8=="STAT"){print $0}}' USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1197 0.0 0.0 0 0 ? D 06:39 0:00 [jbd2/dm-1-8] root 1687 0.1 0.0 […]
我们希望在我们的mongo机器上使用预configuration的IOPS EBS卷,我对如何计算使用的预configurationIOPS数量感到困惑。 目前我们平均每个卷的IOPS(读取+写入)为25(我们使用了4个EBS卷),我们也看到我们的CPU在IO时间最高时处于“等待”状态。 我可以把问题分成两部分 – 我们看到在转移到预configuration的EBS IOPS之后,平均IOPS会有大幅度的增长,因为IO延迟会降低,如果我们采取一个很大的缓冲来避免超过IOPS计数? 你如何计算你的mongo设置的最佳IOPS数量? 谢谢! 编辑 – 附加从亚马逊的音量平均队列长度 (我不能粘贴图像,所以这里有一个链接) https://s3-eu-west-1.amazonaws.com/uploads-eu.hipchat.com/13432/91327/Mz2erjjMUcxMmDN/upload.png
所以我们有一个服务器,在磁盘I / O上看似随机高峰,随机时间上升到99.x%,而且没有明显的原因,一段时间后保持高位,然后又回落。 这并不是一个问题,但最近磁盘I / O一直保持在99%的长时间,在某些情况下长达16小时。 服务器是专用服务器,具有4个CPU核心和4 GB的RAM。 它正在运行Ubuntu服务器14.04.2,运行percona-server 5.6,没有别的主要。 正在监视停机时间,我们有一个屏幕永久显示我们处理的服务器的CPU / RAM /磁盘I / O。 服务器也经常修补和维护。 这个服务器是复制链中的第三个,并作为故障转移机器。 MySQL数据stream如下。 主 – >主/从 – >问题服务器 所有3台机器具有相同的规格,并托pipe在同一家公司。 问题服务器位于第一个和第二个不同的数据中心。 'iotop'工具告诉我们磁盘I / O是由'jbd2 / sda7-8'进程造成的。 据我们所知,这将处理文件系统日志,并将东西刷新到磁盘。 我们的'sda7'分区是'/ var',我们的sda8分区是/ home。 没有什么应该定期读/写/回家。 停止mysql服务会导致磁盘I / O立即下降到正常水平,所以我们相当肯定这是导致问题的percona,并且这将与它作为/ var分区相匹配,因为这是我们的MySQL数据目录驻留(/ var / lib / mysql)。 我们使用NewRelic监视所有的服务器,当磁盘I / O出现峰值时,我们看不到任何可能导致它的事情。 平均负荷为-2。 CPU使用率徘徊在〜25%,NewRelic认为是由“IO等待”造成的,而不是一个特定的进程。 我们的mysqlconfiguration文件是通过Perconaconfiguration向导和客户端应用程序所需的一些设置的组合生成的,但没有什么特别的感觉。 MySQLconfiguration – http://pastebin.com/5iev4eNa 我们尝试了以下事情来尝试解决问题: […]
目前我正在为性能问题而烦恼,当我的数据库服务器处于“繁重”负载下时,所有的数据库查询都比正常情况下高出1000倍。 我有一台运行Ubuntu 12.04的服务器,并托pipe我的postgresql 9.2数据库。 服务器在Hetzner.de上,它是一个EX6s(32Gb ram的8核心氙气,以及使用ubuntus软件raid的RAID1设置中的两个3T硬盘)。 当我运行大量的查询(我经常在夜里完成)时,我发现几乎所有的CPU使用率都花在CPU I / O等待上。 我安装了新的文件监视器,似乎无法find任何可能是此CPU I / O等待根源的其他迹象,这显然是我的性能和吞吐量的瓶颈。 所以问题是,这个CPU I / O等待什么,等待什么? 我添加了所有的概述图表,我可以从下面的新文物中得到。 我忽略了什么? 必须有一个明显的瓶颈? 我应该在哪里下潜? 数据库服务器CPU使用率 – 告诉我有什么不对的错误https://rpm.newrelic.com/public/charts/cEdIvvoQZCr 数据库服务器负载平均值https://rpm.newrelic.com/public/charts/cMNdrYW51QJ 数据库服务器物理内存https://rpm.newrelic.com/public/charts/c3dZBntNpa1 数据库服务器磁盘I / O利用 – 你可以看到磁盘似乎并没有被非常多的使用(几乎没有) https://rpm.newrelic.com/public/charts/9YEVw6RekFG 数据库服务器networkingI / O(Mb / s) – networking是一个千兆位内部networking,所有通信都是在这个networking上进行的。 https://rpm.newrelic.com/public/charts/lKiZ0Szmwe7 前五名数据库操作挂钟时间https://rpm.newrelic.com/public/charts/dCt45YH12FK 数据库吞吐量https://rpm.newrelic.com/public/charts/bIbtQ1mDzMI 数据库响应时间https://rpm.newrelic.com/public/charts/fPcNL8WA6xx 更新: 做完sudo iostat -k 1我开始怀疑了。 我得到了很多这样的输出,我没有看到NR: Device: tps kB_read/s kB_wrtn/s kB_read […]
在Windows Server 2003中,我在任务pipe理器中看到I / O其他列中的值很高的进程。 我试图确定它是否处于某种错误状态,但我不知道什么I / O其他手段。 I / O读取和写入较低。 什么是I / O其他? 我也在寻找更多的细节,我可以得到什么I / O其他操作,比“这种types的操作是一个控制function的例子”更多的解释。 谢谢