公司服务器用的 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 (操作系统和数据库备份)
1
loading 2019-10-10 10:28:21 +08:00 via Android
确定瓶颈是在磁盘 io ?
建议分析慢查询。 对于能不能用 ssd,对于你们来说应该不是主要问题。 |
2
misaka19000 2019-10-10 10:30:28 +08:00
先定位问题
|
3
CallMeReznov 2019-10-10 10:30:50 +08:00
金蝶问题主要在于那奇葩的数据库结构和用法上吧?
听说有无数临时表 |
4
care OP @CallMeReznov 临时表的话现在有做计划任务执行自动清理,还有重建索引
|
5
care OP @loading 之前没更换 ssd 之前,金蝶那边给出的方案是叫我们更换带缓存的阵列卡,更换 4 块 s4610 替换掉现有的 sasx3 组件的 raid5,所以我们才自己购买两块 S4510 来测试,发现也还是一样会卡。慢查询的话我得查阅相关资料搜集下日志确定下,谢谢。
|
6
mhycy 2019-10-10 10:55:24 +08:00
|
8
tankren 2019-10-10 11:05:34 +08:00
不试试优化程序?
|
9
care OP @tankren 因为我们是买断的,所以要优化 sqlserver 的话需要订阅金蝶的 sqlserver 优化服务,还不知道是否有效果…
|
11
leicool520 2019-10-10 12:03:19 +08:00
感觉有点老了,阵列卡支持缓存吗,是不是没电了
|
12
care OP @leicool520 阵列卡没有缓存,所以不知道换带缓存的阵列卡的话不知道是否有效果?现在是直接写到 ssd
|
13
leicool520 2019-10-10 12:16:22 +08:00
有阵列缓存会好很多的,看看能不能升级个好点的带缓存的阵列卡
|
14
lvzhiqiang 2019-10-10 13:47:05 +08:00
sata 盘转速是多少的? 有条件上 raid 10,上 sas 盘。
|
15
care OP @lvzhiqiang sata 盘只有两块 intel 数据中心的 s4510 组的 raid1,其他都是 sas 盘
|
16
lvzhiqiang 2019-10-10 14:02:03 +08:00
@care 先试着优化软件,不行再提升存储性能。
|
17
love 2019-10-10 14:05:11 +08:00
分析慢查询,该加的索引加上。
多年前我也在 CRM 公司上班,技术一塌糊涂,开发人员只用自己的少量数据开发,根本不管客户数据量大了之后会发生什么。 |
18
wiix 2019-10-10 14:28:23 +08:00
@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 2019-10-10 14:49:46 +08:00
看了下,阵列卡是支持 SSD,所以,这个首先排除。
另外,带缓存么?这个提升相对来说比 HDD 到 SSD 效果更明显。 加上缓存和电池看看效果。 |
20
care OP @wiix 看了 EMC 这篇文章 https://community.emc.com/docs/DOC-30863,数据库数据的读 /写属于随机的,觉得用 ssd 应该可以提升磁盘的性能。看来先弄个阵列卡的缓存模块来测试下有没有效果了,还不行的话只能找专业的来优化 sqlserver 了。
|
21
okudayukiko0 2019-10-10 19:13:04 +08:00 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 2019-10-10 21:32:17 +08:00 via Android
数据库做集群应该不增加磁盘 io 读写性能提升大,以前医院的大量数据查询特别慢,做集群后明显快了好多倍
|
23
wiix 2019-10-10 21:53:56 +08:00
@care 可能我没说清楚。
像你现在遇到的这种分钟级的高延迟情况,排除软件设计问题,要么是因为有大量的插入或临时表建表操作(数据量大或者需要频繁更新索引),要么是没优化索引造成大量的全表扫描。 而带数据建表、更新索引和全表扫描操作都类似顺序读写,除非还同时存在缓存过小的问题。 |
24
ztcaoll222 2019-10-10 22:11:35 +08:00
加钱上傲腾?
|
25
care OP @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 2019-10-13 15:07:15 +08:00 via iPhone
@care 现在的硬盘容量都很大,不建议用 RAID5。此外个人建议买金碟的 SQL 优化服务。
Server 2012、Server 2016、Server 2019 对 E5V4 应该有内核级优化,但 Server 2016 和 Server 2019 应该是从 Win10 LTSC 来的。 |