首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

服务器阵列卡是不是不适合使用 SSD 组建硬阵列 RAID?

  •  
  •   care · 10 天前 · 1800 次点击

    公司服务器用的 IBM x3650-M5 跑的金蝶 K3cloud Sqlserver 服务,每天下午一些部门在金蝶客户端执行批量表单审核操作的时候(大约一次 300 条审核操作),客户端需要等待大概 6 分钟左右才能处理完成,执行数据量大的搜索时候也会卡(数据库是存放在服务器阵列卡 M5210 组建的硬 RAID1 上,intel S4510x2 ),卡的时候通过 PING 大包到数据库服务器,网络并没有延时和丢包( ping 172.16.1.200 -l 1024 -t )。之前使用 sasx3 组的 raid5 也是会有客户端操作卡的情况,所以才更换的 intel S4510 数据中心固态硬盘,目前看来并没有实际明显的改善效果。这两天通过使用第三方系统检测软件检测服务器情况,发现 S4510x2 组的 raid1 突发的磁盘队列长度也还是很高。有朋友说不应该在阵列卡上使用 ssd 组建阵列,阵列卡不支持 trim 特性。但是 x3650-M5 服务器板载没有 sata 硬盘接口,而且 M5210 阵列卡不支持刷 IT 直通模式,bios 里看阵列卡支持 jbod 模式,不太明白 jbod 和 IT 直通模式的区别。如果使用 IT 直通卡的话,是否有效果?性能是否取决于 IT 直通卡的性能?请问各位大佬,阵列卡是否真的不适合使用 ssd 来组件 RAID ?或者有啥优化解决方案给帮忙支支招,感激不尽!下面贴出昨天一天通过 sysgauge 监控到的服务器平均数据图示。

    服务器硬件配置:

    CPU:E5-2683 V4

    内存:96GB

    操作系统:2008R2 (系统本身没有激活,我本来打算更换操作系统,所以也就暂时没有激活系统,不知道是否有影响)

    数据库:Sqlserver 2008R2

    磁盘:S4510x2 组的 raid1 (存放数据库文件) SASx3 组的 raid5 (操作系统和数据库备份)

    intel_ssd_tool.png 20191009disk_monitor.png 20191009sql_server_monitor.png 20191009sqlserver_process_monitor.png

    26 回复  |  直到 2019-10-13 15:07:15 +08:00
        1
    loading   10 天前 via Android
    确定瓶颈是在磁盘 io ?
    建议分析慢查询。

    对于能不能用 ssd,对于你们来说应该不是主要问题。
        2
    misaka19000   10 天前
    先定位问题
        3
    CallMeReznov   10 天前
    金蝶问题主要在于那奇葩的数据库结构和用法上吧?
    听说有无数临时表
        4
    care   10 天前
    @CallMeReznov 临时表的话现在有做计划任务执行自动清理,还有重建索引
        5
    care   10 天前
    @loading 之前没更换 ssd 之前,金蝶那边给出的方案是叫我们更换带缓存的阵列卡,更换 4 块 s4610 替换掉现有的 sasx3 组件的 raid5,所以我们才自己购买两块 S4510 来测试,发现也还是一样会卡。慢查询的话我得查阅相关资料搜集下日志确定下,谢谢。
        7
    mhycy   10 天前
    @care 阵列卡的配置会对性能有影响,建议确认读写都走缓存
        8
    tankren   10 天前
    不试试优化程序?
        9
    care   10 天前 via iPhone
    @tankren 因为我们是买断的,所以要优化 sqlserver 的话需要订阅金蝶的 sqlserver 优化服务,还不知道是否有效果…
        10
    care   10 天前
    @mhycy 看来专业服务器还是得用 SAS 盘
        11
    leicool520   10 天前
    感觉有点老了,阵列卡支持缓存吗,是不是没电了
        12
    care   10 天前 via iPhone
    @leicool520 阵列卡没有缓存,所以不知道换带缓存的阵列卡的话不知道是否有效果?现在是直接写到 ssd
        13
    leicool520   10 天前
    有阵列缓存会好很多的,看看能不能升级个好点的带缓存的阵列卡
        14
    lvzhiqiang   10 天前
    sata 盘转速是多少的? 有条件上 raid 10,上 sas 盘。
        15
    care   10 天前 via iPhone   ♥ 1
    @lvzhiqiang sata 盘只有两块 intel 数据中心的 s4510 组的 raid1,其他都是 sas 盘
        16
    lvzhiqiang   10 天前
    @care 先试着优化软件,不行再提升存储性能。
        17
    love   10 天前
    分析慢查询,该加的索引加上。
    多年前我也在 CRM 公司上班,技术一塌糊涂,开发人员只用自己的少量数据开发,根本不管客户数据量大了之后会发生什么。
        18
    wiix   10 天前
    @care
    Optional onboard data cache (DDR3 running at 1866 MHz) with the choice of the following backup:
    1 GB (no battery backup)
    1 GB, 2 GB, or 4 GB with flash backup
    缓存貌似可以自己加。

    另外 s4510 是 sata 接口,6Gb 带宽,raid1 又不增加速度。而 sas 是 12Gb 带宽,raid5 顺序读写速度跟 sata 接口的 s4510 区别不大。并且排除其他因素,数据库的批量写入和查询速度考验的是磁盘顺序读写速度,而不是随机读写和延迟。
    综上 s4510*2 的 raid1 真的没多少提升。

    所以不差钱上英特尔 905P 这种 PCI-E 固态吧,保守会有 4 倍的速度提升。

    当然还是要先分析瓶颈来源,肯能问题不在磁盘 IO,或者数据库配置有问题,或者数据表优化不到位。有时候加几个索引能让单一操作有几十倍的性能提升。
        19
    xenme   10 天前
    看了下,阵列卡是支持 SSD,所以,这个首先排除。
    另外,带缓存么?这个提升相对来说比 HDD 到 SSD 效果更明显。
    加上缓存和电池看看效果。
        20
    care   10 天前
    @wiix 看了 EMC 这篇文章 https://community.emc.com/docs/DOC-30863,数据库数据的读 /写属于随机的,觉得用 ssd 应该可以提升磁盘的性能。看来先弄个阵列卡的缓存模块来测试下有没有效果了,还不行的话只能找专业的来优化 sqlserver 了。
        21
    okudayukiko0   10 天前 via iPhone
    都 Xeon E5 V4 了,一般都支持 SSD,建议阵列卡加 Cache 和电池。
    NVMe SSD 比 SATA SSD 快很多。
    此外 E5 V4 建议 Windows Server 2012 R2 或 Windows Server 2016,2012R2 或 2016 应该对 E5V4 有内核级别的优化。
        22
    qile1   10 天前 via Android
    数据库做集群应该不增加磁盘 io 读写性能提升大,以前医院的大量数据查询特别慢,做集群后明显快了好多倍
        23
    wiix   10 天前
    @care 可能我没说清楚。
    像你现在遇到的这种分钟级的高延迟情况,排除软件设计问题,要么是因为有大量的插入或临时表建表操作(数据量大或者需要频繁更新索引),要么是没优化索引造成大量的全表扫描。
    而带数据建表、更新索引和全表扫描操作都类似顺序读写,除非还同时存在缓存过小的问题。
        24
    ztcaoll222   10 天前
    加钱上傲腾?
        25
    care   7 天前
    @xenme
    @okudayukiko0
    @wiix
    @leicool520
    @mhycy 现在有一台 x3650 m4 带 M5110e 阵列卡的服务器带 512M 缓存,使用 CrystalDiskMark 测速,100M 测试的话感觉也没有跑满阵列卡内存的带宽,500M 测试直接爆阵列卡缓存了,速度就 300M 左右。之前通过监控 sqlserver 的进程写入情况,发现爆发性最大写入也就 400 多 M。使用 ATTO Disk Benchmarks 测试,现在跑着数据库服务的 M5210 阵列卡速度惨不忍睹,因为 M5210 现在跑着应用,所以没有强制开启阵列卡缓存来测试。各位大佬帮忙看下 M5110e 和 M5210 测试的结果是否正常?( 1.205 是 M5210 阵列卡服务器,2.5 是 M5110e 阵列卡服务器,1.205 服务器是 sas 盘 600Gx4 组建的 raid5,2.5 服务器是 sas 盘 300Gx3 组建的 raid5 )
    ![1.205 服务器 RAID5 无缓存测试.png]( https://i.loli.net/2019/10/13/1MlZYwTcygm6EJq.png)
    ![1.205 服务器 S3510-RAID1.png]( https://i.loli.net/2019/10/13/FXp4mGTRqDN91o3.png)
    ![2.5 服务器 RAID5 无缓存测试.png]( https://i.loli.net/2019/10/13/MXDBbV2Y9adUcJA.png)
    ![2.5 服务器 RAID5 启用 512M 缓存测试.png]( https://i.loli.net/2019/10/13/BPxk8WAgDEKbqNo.png)
        26
    okudayukiko0   7 天前 via iPhone
    @care 现在的硬盘容量都很大,不建议用 RAID5。此外个人建议买金碟的 SQL 优化服务。
    Server 2012、Server 2016、Server 2019 对 E5V4 应该有内核级优化,但 Server 2016 和 Server 2019 应该是从 Win10 LTSC 来的。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1751 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 16:15 · PVG 00:15 · LAX 09:15 · JFK 12:15
    ♥ Do have faith in what you're doing.