Skip to content

Commit 86db264

Browse files
committed
feat: art p440ar benchmark
1 parent f17a7be commit 86db264

File tree

4 files changed

+89
-6
lines changed

4 files changed

+89
-6
lines changed
17.5 KB
Binary file not shown.
18.4 KB
Binary file not shown.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: P440ar Array Controller 直通评测
3+
tags:
4+
- HP
5+
- HBA
6+
- RAID
7+
- ZFS
8+
categories:
9+
- 搞机
10+
layout: post
11+
date: 2022-03-26
12+
---
13+
14+
最近到了一批`HPE DL560 G9`的机器,默认带的是[P440ar](https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04496202)的卡。但是目前我们都是用的ZFS,所以一般来说我们都会把卡刷成`IT Mode`直通给系统。
15+
16+
戴尔的卡已经有[很成熟的教程](https://fohdeesha.com/docs/index.html)了,但是HP似乎都没有,目前可以选择的方案看了一圈只有
17+
18+
- HBA Mode,他们的卡自带了这个模式
19+
- RAID 0 for each physical drive,我没想到的是他们界面直接就有这个选项,看来很多这样的需求
20+
21+
但是继续找了一下并没有看到有关于更多ZFS的评测,所以这里就记录一下目前收集到的信息
22+
23+
## 规格
24+
25+
### 硬盘
26+
27+
硬盘是`2.5 inch Seagate 1TB 7200 RPM`,具体信息:
28+
29+
```
30+
Status OK
31+
Serial Number 9XG6E9NN
32+
Model ST910006CLAR1000
33+
Media Type HDD
34+
Capacity 1000 GB
35+
Firmware Version AS0D
36+
Drive Configuration Configured
37+
Encryption Status Not Encrypted
38+
```
39+
40+
### 控制器
41+
42+
控制器读缓存开启,写缓存关闭
43+
44+
## 测试
45+
46+
### 脚本
47+
48+
使用的是fio,配合脚本
49+
50+
https://gist.github.com/sennajox/3667757
51+
52+
### RAID 0 结果
53+
54+
<a :href="raid0">fio-raid0.tar.gz</a>
55+
56+
### HBA 结果
57+
58+
<a :href="hba">fio-hba.tar.gz</a>
59+
60+
## 结论
61+
62+
目前测试出来单盘的情况下,HBA和Raid0的结果在512K的读写下很相近,但是HBA模式表现似乎要更好一点。
63+
64+
所有结果都打包在上面,有需要的可以自行下载研究。如果有更多测试/模式想要测试,可以在评论区留言
65+
66+
<script>
67+
export default {
68+
computed: {
69+
raid0() {
70+
return require("../_assets/file/p440ar-ctrl-benchmark/fio-raid0.tar")
71+
},
72+
73+
hba() {
74+
return require("../_assets/file/p440ar-ctrl-benchmark/fio-hba.tar")
75+
},
76+
}
77+
}
78+
</script>

saber-node.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
const webpack = require('webpack')
22

3-
exports.chainWebpack = function(chain) {
3+
const fileLoaderExt = (names, chain) => {
44
chain.module
5-
.rule("pdf")
6-
.test(/\.pdf$/)
7-
.use("pdf")
5+
.rule("file load path")
6+
.test(new RegExp(`\.(${names.join('|')})$`))
7+
.use("file load path")
88
.loader("file-loader")
99
.options({
10-
name: "[name].[ext]",
10+
name: "[path][name].[ext]",
1111
});
12-
chain.module
12+
}
13+
14+
exports.chainWebpack = function(chain) {
15+
fileLoaderExt(["pdf", "tar"], chain)
16+
17+
chain.module
1318
.rule("cool")
1419
.test(/\.cool$/)
1520
.use("cool")

0 commit comments

Comments
 (0)