服务器挂起文件副本

我们有一个问题与我们的服务器之一。 当我们复制更大的文件(大的情况下,大于50MB的情况下),复制操作(C:\到C :)开始正常,但开始滞后,下降到100kb / s,使整个服务器挂起应用程序不能从SQL Server返回结果,所以应用程序挂起用户)。

英特尔RST在SMART上显示全部绿色。 这里是系统规格:

  • 服务器: HPE ML10
  • 存储 RAID5configuration中的3x HP 3TB
  • 操作系统: Windows Server 2012 R2
  • 服务器angular色:域控制器,应用程序服务器(SQL Server和.NET应用程序)
  • 存储设置:条带大小:128KB,写caching缓冲区清除:启用,caching模式:关,物理和逻辑扇区的大小:512字节

我不是一个服务器专家,所以我不知道如果我有这些东西设置正确。 这里可能是什么问题?

编辑:我不是这些东西(开发人员)的专家。 所以也许我做了一些简单的错误。

编辑2: http : //imgur.com/a/NNgDY磁盘写入性能非常差。 但是,当我用Windows资源pipe理器复制时,没有总的挂起。 我猜悬挂探测器堵塞消息泵,堵塞系统。 迁移到RAID1 / 10是否可以解决您的问题?

如果我正确理解“Cache-Mode:Off”,写入性能就完全可以理解了。 检查是否从RAID (networking或NUL)复制/读取是我的问题或复制/写入RAID – 我的猜测是正确的,只写入RAID是一个痛苦。

RAID5是分布式的 – 每个条带由(在你的情况下)三个部分组成:data1,data2和parity12。 现在,当一些数据写入数组时,它不能只写入数据段,因为奇偶校验不再匹配。

如果data1被写入/更改,则控制器需要:

  1. 读取数据2,重新计算奇偶校验12,写入数据1,写入奇偶校验12(对于小型arrays)
  2. 读旧数据1,读奇偶校验12,从奇偶校验12中删除旧数据1奇偶校验,用新数据1重新计算奇偶校验12,写入数据1,写入奇偶校验12(对于较大的arrays)

所以,只要有变化,控制器的操作就会被放大三倍! 如果这些不能被caching,每次写入将导致三个操作被执行,并且你的应用程序需要等待。 通过caching,许多读写操作可以省略,性能降低的可能性会小得多。

这个写操作放大的唯一例外是当你写一个整个条带时:只要从缓冲区取data1和data2,计算parity12并写所有三个段。 这只是1.5倍的放大。 但是,为了能够将所有传入的数据组合成完整的条带,您需要能够对数据进行排队。 猜猜看,你需要再次caching。

简而言之:如果您使用RAID5或RAID6,您绝对需要caching – 这不是奢侈品。 太less,甚至根本没有caching会杀死你的performance。 如果是具有可configurationcaching的软件或托pipeRAID,请留出至less512 MB,更好的1或2 GB,然后“飞”。 与三个驱动器的RAID5将不会有性能奇迹,但它可以正常工作。

编辑:惠普ML10 G9有一个芯片集成英特尔RST SATA RAID控制器 – 主机RAID。 根据使用的确切模型和控制器,caching应该可以在某处configuration。