From 06ec7a9de6669267bd8c47926ab59af79f257994 Mon Sep 17 00:00:00 2001 From: NeverBehave Date: Sat, 26 Mar 2022 00:32:29 -0700 Subject: [PATCH 1/2] feat: art p440ar benchmark --- .../file/p440ar-ctrl-benchmark/fio-hba.tar.gz | Bin 0 -> 17905 bytes .../p440ar-ctrl-benchmark/fio-raid0.tar.gz | Bin 0 -> 18884 bytes pages/_posts/p440ar-ctrl-benchmark.md | 74 ++++++++++++++++++ saber-node.js | 17 ++-- 4 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 pages/_assets/file/p440ar-ctrl-benchmark/fio-hba.tar.gz create mode 100644 pages/_assets/file/p440ar-ctrl-benchmark/fio-raid0.tar.gz create mode 100644 pages/_posts/p440ar-ctrl-benchmark.md diff --git a/pages/_assets/file/p440ar-ctrl-benchmark/fio-hba.tar.gz b/pages/_assets/file/p440ar-ctrl-benchmark/fio-hba.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..84fe3aacc3c68edbc6992ca5c4da5002cb8b5e56 GIT binary patch literal 17905 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 + +### RAID 0 结果 + +fio-raid0.tar.gz + +### HBA 结果 + +fio-hba.tar.gz + +## 结论 + +目前测试出来单盘的情况下,HBA和Raid0的结果在512K的读写下很相近,但是HBA模式表现似乎要更好一点。 + +所有结果都打包在上面,有需要的可以自行下载研究。如果有更多测试/模式想要测试,可以在评论区留言 + + \ No newline at end of file diff --git a/saber-node.js b/saber-node.js index 2cc1b5b2..71e9473e 100644 --- a/saber-node.js +++ b/saber-node.js @@ -1,15 +1,20 @@ const webpack = require('webpack') -exports.chainWebpack = function(chain) { +const fileLoaderExt = (names, chain) => { chain.module - .rule("pdf") - .test(/\.pdf$/) - .use("pdf") + .rule("file load path") + .test(new RegExp(`\.(${names.join('|')})$`)) + .use("file load path") .loader("file-loader") .options({ - name: "[name].[ext]", + name: "[path][name].[ext]", }); - chain.module +} + +exports.chainWebpack = function(chain) { + fileLoaderExt(["pdf", "tar.gz"], chain) + + chain.module .rule("cool") .test(/\.cool$/) .use("cool") From d4e5ddc677edf99401296fb9dda576809556167e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Mar 2022 17:23:39 +0000 Subject: [PATCH 2/2] chore(deps): bump ajv from 6.12.2 to 6.12.6 Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.2 to 6.12.6. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.2...v6.12.6) --- updated-dependencies: - dependency-name: ajv dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/yarn.lock b/yarn.lock index f6138629..26bd935d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1240,17 +1240,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2769,9 +2759,9 @@ fast-deep-equal@^2.0.1: integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -6265,9 +6255,9 @@ upath@^1.1.1: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0"