{"id":313,"date":"2020-06-15T10:00:34","date_gmt":"2020-06-15T01:00:34","guid":{"rendered":"https:\/\/weseek.co.jp\/tech\/?p=313"},"modified":"2020-06-15T10:00:34","modified_gmt":"2020-06-15T01:00:34","slug":"dev-in-container-on-wsl2-%e3%81%a7%e3%83%9c%e3%83%aa%e3%83%a5%e3%83%bc%e3%83%a0%e3%81%ae%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9%e3%82%92%e6%af%94%e3%81%b9%e3%81%a6%e3%81%bf","status":"publish","type":"post","link":"https:\/\/growi.co.jp\/blog\/growi\/dev-in-container-on-wsl2-%e3%81%a7%e3%83%9c%e3%83%aa%e3%83%a5%e3%83%bc%e3%83%a0%e3%81%ae%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9%e3%82%92%e6%af%94%e3%81%b9%e3%81%a6%e3%81%bf\/","title":{"rendered":"Dev in Container on WSL2\u3067\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6bd4\u3079\u308b"},"content":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3002\u6b66\u4e95\u3067\u3059\u3002<\/p>\n<p>2020\u5e745\u6708\u672b\u306b\u5f85\u671b\u306e Windows 10 May 2020 Update \u304c\u516c\u958b\u3055\u308c\u3001WESEEK, Inc. \u3067\u958b\u767a\u4e2d\u306e <a href=\"https:\/\/growi.org\">GROWI<\/a> \u3067\u3082 WSL2 \u3068 Docker Desktop \u3092\u5229\u7528\u3057\u3066 <a href=\"https:\/\/docs.growi.org\/ja\/dev\/startup-v2\/dev-env.html\">Dev in Container \u3092\u5b9f\u73fe\u3057\u305f\u65b0\u3057\u3044\u958b\u767a\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7<\/a> \u3092\u63a1\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u672c\u65e5\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3067\u306f\u3001\u305d\u306e\u958b\u767a\u6642\u306b\u5229\u7528\u3059\u308b\u30b9\u30c8\u30ec\u30fc\u30b8(Docker volume)\u306e\u7a2e\u985e\u306b\u3088\u3063\u3066\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u3069\u308c\u304f\u3089\u3044\u5909\u308f\u308b\u306e\u304b\u3092\u5b9f\u9a13\u3057\u305f\u969b\u306e\u7d50\u679c\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>\u53d6\u308a\u7acb\u3066\u3066\u9ad8\u901f\u5316\u306e\u305f\u3081\u306e\u65b0\u3057\u3044\u624b\u6cd5\u3092\u8a66\u3057\u3066\u3044\u308b\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u6628\u4eca\u306e node \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u958b\u767a\u306b\u304a\u3051\u308b node_modules\u3001rails \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u958b\u767a\u306b\u304a\u3051\u308b vendor\/bundle \u7b49\u3001\u4f9d\u5b58\u95a2\u4fc2\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u53d6\u308a\u6271\u3044\u306e\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<h1>\u76ee\u6b21<\/h1>\n<p><!--more--><\/p>\n\n<h1>\u7d4c\u7def<\/h1>\n<h2>\u958b\u767a\u74b0\u5883\u8d77\u52d5\u306e\u624b\u9593\u306f\u6e1b\u3063\u305f\uff01<\/h2>\n<p><a href=\"https:\/\/docs.growi.org\/ja\/dev\/startup-v1\/dev-env.html\">\u65e7\u958b\u767a\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7<\/a> \u3067\u306f Vagrant\/Virtualbox \u3067 Linux \u3092\u7acb\u3061\u4e0a\u3052\u3001\u305d\u306e\u4e2d\u3067\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u7fa4(MongoDB \u3084 Elasticsearch)\u3092 docker-compose \u3067\u8d77\u52d5\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u3053\u306e\u64cd\u4f5c\u306f\u500b\u4eba\u7684\u306b\u306f\u82e6\u75db\u3067\u3057\u305f\u3002<code>vagrant up<\/code> \u3067\u5f85\u305f\u3055\u308c\u3001\u305d\u306e\u5f8c <code>vagrant ssh<\/code> \u3057\u3066\u3001<code>tmux<\/code> \u3057\u3066\u3001<code>docker-compose up<\/code> \u3057\u3066\u2026<br \/>\nWindows Update \u3067\u518d\u8d77\u52d5\u3092\u8feb\u3089\u308c\u3066\u4e00\u756a\u5104\u52ab\u306b\u306a\u308b\u306e\u304c\u305d\u306e\u90e8\u5206\u3067\u3057\u305f\u3002<\/p>\n<p>\u305d\u308c\u304c\u4eca\u3084\u65b0\u3057\u3044\u958b\u767a\u30b9\u30bf\u30fc\u30c8\u30a2\u30c3\u30d7\u3067\u306f Visual Studio Code \u3092\u7acb\u3061\u4e0a\u3052\u308b\u3060\u3051\u3067\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u7fa4\u542b\u3081\u30b3\u30f3\u30c6\u30ca\u304c\u7acb\u3061\u4e0a\u304c\u3063\u305f\u72b6\u614b\u306b\u306a\u308b\u306e\u3067\u3059\u3002\u306a\u3093\u3066\u7d20\u6674\u3089\u3057\u3044\u306e\u3067\u3057\u3087\u3046\u3002<\/p>\n<h2>\u61f8\u5ff5\u3055\u308c\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c0\u30a6\u30f3<\/h2>\n<p>\u3057\u304b\u3057\u4ee3\u308f\u308a\u306b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c0\u30a6\u30f3\u3082\u53d7\u3051\u5165\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002<br \/>\n\u3053\u308c\u307e\u3067\u306f\u30db\u30b9\u30c8OS\u3067\u8d77\u52d5\u3057\u3066\u3044\u305f webpack-dev-server \u53ca\u3073 Express server \u304c\u3001\u65b0\u958b\u767a\u74b0\u5883\u3067\u306f\u30b3\u30f3\u30c6\u30ca\u5185\u3067\u7acb\u3061\u4e0a\u304c\u308b\u3053\u3068\u306b\u306a\u3063\u305f\u305f\u3081\u3001node \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u53c2\u7167\u3059\u308b node_modules \u3082\u3001bind mount \u3055\u308c\u3066\u3044\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u4e2d\u306b\u7f6e\u304b\u308c\u3001\u7406\u8ad6\u4e0a\u306f\u5927\u306a\u308a\u5c0f\u306a\u308a\u30a2\u30af\u30bb\u30b9\u304c\u9045\u304f\u306a\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u3059\u3002[efn_note]bind mount \u3057\u306a\u3044\u3067\u30b3\u30f3\u30c6\u30ca\u5185\u3067\u30ea\u30dd\u30b8\u30c8\u30ea\u3092 clone \u3059\u308c\u3070\u3044\u3044\u3058\u3083\u3093\u3001\u3068\u3044\u3046\u610f\u898b\u3082\u3042\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u304c\u3001WESEEK \u3067\u306f Git \u306e\u64cd\u4f5c\u306f SourceTree \u63a8\u5968\u3067\u3042\u308b\u305f\u3081\u3001\u30db\u30b9\u30c8OS\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u5834\u6240\u306b\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u7f6e\u304f\u5fc5\u8981\u304c\u3042\u308b[\/efn_note]<\/p>\n<p>\u7279\u306b Docker Desktop for Mac \u3067\u306f\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u304c\u9855\u8457\u3067\u3042\u308b\u305f\u3081\u3001bind mount \u3092\u653e\u68c4\u3057\u3066 <a href=\"https:\/\/docs.docker.com\/docker-for-mac\/mutagen-caching\/\">Mutagen-based caching<\/a> \u3092\u63a1\u7528\u3059\u308b\u4e8b\u4f8b\u3082\u591a\u304f\u306a\u3063\u3066\u304d\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>WSL2 \u3067\u306f\u2026\uff1f<\/h2>\n<p>\u3067\u306f WSL2 \u3068 Docker Desktop for Windows \u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u306f\u3069\u3046\u304b\u3068\u3044\u3046\u3068\u3001docker container \u306b bind mount \u3055\u308c\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u306e\u8aad\u307f\u66f8\u304d\u306f\u4f53\u611f\u3067\u306f\u5341\u5206\u306a\u30b9\u30d4\u30fc\u30c9\u304c\u51fa\u3066\u304a\u308a\u3001\u305d\u306e\u307e\u307e\u3067\u3082\u5b9f\u7528\u306b\u306f\u8010\u3048\u3089\u308c\u308b\u611f\u3058\u3067\u3057\u305f\u3002\u3057\u304b\u3057\u3053\u3053\u3067\u3075\u3068\u4f7f\u3044\u53e4\u3055\u308c\u305f\u624b\u6cd5\u3001<strong>node_modules \u3092 bind mount volume \u3067\u306f\u306a\u304f local volume \u306b\u7f6e\u304f\u3068\u3069\u3046\u306a\u308b\u306e\u304b\uff1f<\/strong> \u3068\u3044\u3046\u7591\u554f\u306b\u884c\u304d\u5f53\u305f\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306f\u305d\u308c\u3092\u6e2c\u5b9a\u3057\u3066\u307f\u3088\u3046\u3001\u3068\u3044\u3046\u308f\u3051\u3067\u3059\u3002<\/p>\n<h1>\u5b9f\u9a13\u74b0\u5883<\/h1>\n<table>\n<thead>\n<tr>\n<th>key<\/th>\n<th>value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u30db\u30b9\u30c8OS<\/td>\n<td>Windows 10 Home 2004 build 19041.264<\/td>\n<\/tr>\n<tr>\n<td>CPU<\/td>\n<td>Intel Core i5-6500<\/td>\n<\/tr>\n<tr>\n<td>SSD<\/td>\n<td>Crucial MX200 CT250MX200SSD1 x 2 (Raid 0)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u300c\u4f1a\u793e\u306e\u4ee3\u8868\u306a\u306e\u306b\u3053\u3093\u306a\u53e4\u3044CPU\u306e\u30de\u30b7\u30f3\u3092\u2026\u300d<\/strong><\/p>\n<p>\u3068\u304b\u601d\u308f\u308c\u308b\u306e\u3092\u60f3\u50cf\u3059\u308b\u3068\u3053\u308c\u3092\u6652\u3059\u306e\u306f\u6065\u305a\u304b\u3057\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u8f09\u305b\u308b\u4e0a\u3067\u306f\u305d\u3053\u305d\u3053\u91cd\u8981\u306a\u60c5\u5831\u3060\u3068\u601d\u3046\u306e\u3067\u4ed5\u65b9\u306a\u3057\u3002\u3002[efn_note]\u56e0\u307f\u306b\u81ea\u5b85\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30de\u30b7\u30f3\u3067\u3059\u3002\u4f1a\u793e\u3067\u306f\u3082\u3063\u3068\u3044\u3044\u3084\u3064\u3092\u8cb8\u4e0e\u3057\u3066\u307e\u3059\u3002[\/efn_note]<\/p>\n<table>\n<thead>\n<tr>\n<th>key<\/th>\n<th>value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>WSL2 OS<\/td>\n<td>Ubuntu 20.04 LTS<\/td>\n<\/tr>\n<tr>\n<td>Docker Desktop<\/td>\n<td>2.3.0.3 (45519)<\/td>\n<\/tr>\n<tr>\n<td>Docker<\/td>\n<td>19.03.8<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u30b3\u30f3\u30c6\u30ca\u306e inspect \u306f\u3001<\/p>\n<pre><code>{\n  ...\n  \"Driver\": \"overlay2\",\n  ...\n  \"Mounts\": [\n    {\n      \"Type\": \"bind\",\n      \"Source\": \"\/run\/desktop\/mnt\/host\/wsl\/docker-desktop-bind-mounts\/Ubuntu\/xxx\",\n      \"Destination\": \"\/workspace\",\n      \"Mode\": \"cached\",\n      \"RW\": true,\n      \"Propagation\": \"rprivate\"\n    },\n    {\n      \"Type\": \"volume\",\n      \"Source\": \"\/var\/lib\/docker\/volumes\/xxx\/_data\",\n      \"Destination\": \"\/workspace\/node_modules\",\n      \"Driver\": \"local\",\n      \"Mode\": \"\",\n      \"RW\": true,\n      \"Propagation\": \"\"\n    }\n   ],<\/code><\/pre>\n<p><code>df<\/code> \u7d50\u679c\u306f\u3001<\/p>\n<pre><code>node@aa9926a4e3d0:\/workspace\/growi$ df -hT\nFilesystem     Type     Size  Used Avail Use% Mounted on\noverlay        overlay  251G   14G  225G   6% \/\n...\n\/dev\/sdd       ext4     251G  2.2G  237G   1% \/workspace\n...<\/code><\/pre>\n<p><code>\/workspace<\/code> \u306f ext4\u3001<br \/>\n<code>\/workspace\/node_modules<\/code> \u306f overlay2 \u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h1>\u5b9f\u9a13<\/h1>\n<h2>bind mount volume (\u5931\u6557\u7de8)<\/h2>\n<p>\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3068\u3044\u3046\u3053\u3068\u3067\u3001<a href=\"https:\/\/packages.ubuntu.com\/focal\/fio\">fio<\/a> \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>\u3061\u3089\u3063\u3068\u8abf\u3079\u3066\u307f\u3066\u3082\u81a8\u5927\u306a\u91cf\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308b\u3053\u3068\u306b\u3052\u3093\u306a\u308a\u3001\u3001<br \/>\n\u3057\u304b\u3057\u306a\u304c\u3089\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u898b\u305f\u3044\u30b7\u30c1\u30e5\u30a8\u30fc\u30b7\u30e7\u30f3\u306f\u4eca\u56de\u306f\u52d5\u753b\u30c7\u30fc\u30bf\u306e\u30b3\u30d4\u30fc\u307f\u305f\u3044\u306a\u306e\u3067\u306f\u306a\u304f node_modules \u306a\u3069\u306e\u5c0f\u3055\u306a\u30d5\u30a1\u30a4\u30eb\u3092\u5927\u91cf\u306b\u7f6e\u304f\u5834\u6240\u306e IO \u306a\u306e\u3067\u3001\u30e9\u30f3\u30c0\u30e0\u30a2\u30af\u30bb\u30b9\u3067\u306e\u8a55\u4fa1\u3067\u3042\u308b\u3053\u3068\u3060\u3051\u306f\u306f\u3063\u304d\u308a\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u308c\u3092\u5ff5\u982d\u306b\u3001<code>rw=randrw<\/code> \u304c\u5165\u3063\u305f\u30b3\u30de\u30f3\u30c9\u3092\u305d\u3053\u3089\u8fba\u306e\u8a18\u4e8b\u304b\u3089\u9069\u5f53\u306b\u30b3\u30de\u30f3\u30c9\u3092\u62fe\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305a\u306f bind mount volume \u304b\u3089\u3084\u308d\u3046\u3068\u3001 <code>--directory=\/workspace<\/code> \u3060\u3051\u5909\u66f4\u3057\u3066\u3053\u3093\u306a\u611f\u3058\u3002<\/p>\n<pre><code>fio \\\n  --ioengine=libaio \\\n  --iodepth=16 \\\n  --direct=1 \\\n  --size=100m \\\n  --numjobs=16 \\\n  --group_reporting \\\n  --directory=\/workspace \\\n  --bs=4k \\\n  --output=\/root\/result-bind-mount.txt \\\n  --name=random-r70w30 \\\n  --rw=randrw \\\n  --rwmixread=70<\/code><\/pre>\n<p>\u305d\u306e\u4ed6\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u7cbe\u67fb\u306f\u305b\u305a\u3068\u308a\u3042\u3048\u305a3\u56de\u5b9f\u884c\u3057\u3066\u7d50\u679c\u3092\u898b\u3066\u307f\u307e\u3059\u3002  <\/p>\n<h3>\u30b3\u30de\u30f3\u30c9\u30ed\u30b0<\/h3>\n<pre><code>random-r70w30: (g=0): rw=randrw, bs=4K-4K\/4K-4K\/4K-4K, ioengine=libaio, iodepth=16\n...\nfio-2.16\nStarting 16 processes\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=2668: Fri Jun 12 17:49:14 2020\n  read : io=1120.5MB, bw=19427KB\/s, iops=4856, runt= 59059msec\n    slat (usec): min=92, max=8839.5K, avg=2350.42, stdev=73105.34\n    clat (usec): min=14, max=10072K, avg=34949.61, stdev=291368.98\n     lat (usec): min=344, max=10075K, avg=37300.03, stdev=302701.82\n    clat percentiles (msec):\n     |  1.00th=[    9],  5.00th=[   10], 10.00th=[   11], 20.00th=[   12],\n     | 30.00th=[   13], 40.00th=[   14], 50.00th=[   15], 60.00th=[   16],\n     | 70.00th=[   18], 80.00th=[   20], 90.00th=[   26], 95.00th=[   37],\n     | 99.00th=[  235], 99.50th=[  537], 99.90th=[ 4686], 99.95th=[ 8979],\n     | 99.99th=[10028]\n  write: io=491080KB, bw=8315.8KB\/s, iops=2078, runt= 59059msec\n    slat (usec): min=111, max=8838.9K, avg=2039.70, stdev=58524.66\n    clat (usec): min=13, max=10072K, avg=33542.78, stdev=277647.18\n     lat (usec): min=301, max=10075K, avg=35582.48, stdev=285130.72\n    clat percentiles (msec):\n     |  1.00th=[    9],  5.00th=[   10], 10.00th=[   11], 20.00th=[   12],\n     | 30.00th=[   13], 40.00th=[   14], 50.00th=[   15], 60.00th=[   16],\n     | 70.00th=[   18], 80.00th=[   20], 90.00th=[   25], 95.00th=[   37],\n     | 99.00th=[  217], 99.50th=[  465], 99.90th=[ 4686], 99.95th=[ 8979],\n     | 99.99th=[10028]\n    lat (usec) : 20=0.01%, 50=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%\n    lat (msec) : 2=0.01%, 4=0.01%, 10=8.05%, 20=73.47%, 50=15.22%\n    lat (msec) : 100=1.55%, 250=0.74%, 500=0.43%, 750=0.12%, 1000=0.01%\n    lat (msec) : 2000=0.09%, >=2000=0.29%\n  cpu          : usr=0.52%, sys=4.01%, ctx=437248, majf=0, minf=144\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\n\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=19426KB\/s, minb=19426KB\/s, maxb=19426KB\/s, mint=59059msec, maxt=59059msec\n  WRITE: io=491080KB, aggrb=8315KB\/s, minb=8315KB\/s, maxb=8315KB\/s, mint=59059msec, maxt=59059msec\n\nrandom-r70w30: (g=0): rw=randrw, bs=4K-4K\/4K-4K\/4K-4K, ioengine=libaio, iodepth=16\n...\nfio-2.16\nStarting 16 processes\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=2865: Fri Jun 12 17:53:12 2020\n  read : io=1120.5MB, bw=26392KB\/s, iops=6598, runt= 43472msec\n    slat (usec): min=79, max=1762.1K, avg=1647.55, stdev=21882.17\n    clat (usec): min=13, max=2085.2K, avg=25339.53, stdev=95393.85\n     lat (usec): min=387, max=2097.6K, avg=26987.08, stdev=98741.20\n    clat percentiles (msec):\n     |  1.00th=[    9],  5.00th=[   10], 10.00th=[   10], 20.00th=[   12],\n     | 30.00th=[   13], 40.00th=[   14], 50.00th=[   15], 60.00th=[   16],\n     | 70.00th=[   18], 80.00th=[   21], 90.00th=[   29], 95.00th=[   43],\n     | 99.00th=[  182], 99.50th=[  343], 99.90th=[ 1827], 99.95th=[ 1958],\n     | 99.99th=[ 2057]\n  write: io=491080KB, bw=11296KB\/s, iops=2824, runt= 43472msec\n    slat (usec): min=114, max=1761.8K, avg=1661.28, stdev=25378.13\n    clat (usec): min=14, max=2075.3K, avg=25617.88, stdev=97624.18\n     lat (usec): min=239, max=2090.2K, avg=27279.16, stdev=101576.37\n    clat percentiles (msec):\n     |  1.00th=[    9],  5.00th=[   10], 10.00th=[   11], 20.00th=[   12],\n     | 30.00th=[   13], 40.00th=[   14], 50.00th=[   15], 60.00th=[   16],\n     | 70.00th=[   18], 80.00th=[   21], 90.00th=[   29], 95.00th=[   44],\n     | 99.00th=[  182], 99.50th=[  343], 99.90th=[ 1827], 99.95th=[ 2008],\n     | 99.99th=[ 2040]\n    lat (usec) : 20=0.01%, 50=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%\n    lat (msec) : 2=0.01%, 4=0.01%, 10=10.10%, 20=67.71%, 50=18.03%\n    lat (msec) : 100=2.18%, 250=1.21%, 500=0.28%, 750=0.12%, 1000=0.07%\n    lat (msec) : 2000=0.23%, >=2000=0.05%\n  cpu          : usr=0.76%, sys=5.20%, ctx=438716, majf=0, minf=140\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\n\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=26392KB\/s, minb=26392KB\/s, maxb=26392KB\/s, mint=43472msec, maxt=43472msec\n  WRITE: io=491080KB, aggrb=11296KB\/s, minb=11296KB\/s, maxb=11296KB\/s, mint=43472msec, maxt=43472msec\n\nrandom-r70w30: (g=0): rw=randrw, bs=4K-4K\/4K-4K\/4K-4K, ioengine=libaio, iodepth=16\n...\nfio-2.16\nStarting 16 processes\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=3034: Fri Jun 12 17:55:36 2020\n  read : io=1120.5MB, bw=43048KB\/s, iops=10762, runt= 26652msec\n    slat (usec): min=107, max=344821, avg=1033.91, stdev=2925.78\n    clat (usec): min=14, max=363954, avg=15509.54, stdev=14831.15\n     lat (usec): min=281, max=364755, avg=16543.45, stdev=15431.53\n    clat percentiles (msec):\n     |  1.00th=[    8],  5.00th=[   10], 10.00th=[   10], 20.00th=[   11],\n     | 30.00th=[   12], 40.00th=[   13], 50.00th=[   14], 60.00th=[   15],\n     | 70.00th=[   16], 80.00th=[   18], 90.00th=[   21], 95.00th=[   27],\n     | 99.00th=[   47], 99.50th=[   62], 99.90th=[  277], 99.95th=[  359],\n     | 99.99th=[  363]\n  write: io=491080KB, bw=18426KB\/s, iops=4606, runt= 26652msec\n    slat (usec): min=103, max=344710, avg=906.47, stdev=3383.50\n    clat (usec): min=14, max=363714, avg=15560.08, stdev=14841.43\n     lat (usec): min=184, max=364281, avg=16466.55, stdev=15570.76\n    clat percentiles (msec):\n     |  1.00th=[    8],  5.00th=[   10], 10.00th=[   10], 20.00th=[   11],\n     | 30.00th=[   12], 40.00th=[   13], 50.00th=[   14], 60.00th=[   15],\n     | 70.00th=[   16], 80.00th=[   18], 90.00th=[   21], 95.00th=[   27],\n     | 99.00th=[   47], 99.50th=[   61], 99.90th=[  277], 99.95th=[  359],\n     | 99.99th=[  363]\n    lat (usec) : 20=0.01%, 50=0.01%, 100=0.01%, 250=0.01%, 500=0.01%\n    lat (usec) : 750=0.01%, 1000=0.01%\n    lat (msec) : 2=0.01%, 4=0.01%, 10=12.41%, 20=75.90%, 50=10.88%\n    lat (msec) : 100=0.48%, 250=0.19%, 500=0.11%\n  cpu          : usr=1.12%, sys=8.05%, ctx=439598, majf=0, minf=140\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\n\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=43048KB\/s, minb=43048KB\/s, maxb=43048KB\/s, mint=26652msec, maxt=26652msec\n  WRITE: io=491080KB, aggrb=18425KB\/s, minb=18425KB\/s, maxb=18425KB\/s, mint=26652msec, maxt=26652msec<\/code><\/pre>\n<h3>IOPS \u30b5\u30de\u30ea<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: right;\">#<\/th>\n<th style=\"text-align: right;\">Read IOPS<\/th>\n<th style=\"text-align: right;\">Write IOPS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: right;\">1\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">4856<\/td>\n<td style=\"text-align: right;\">2078<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">2\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">6598<\/td>\n<td style=\"text-align: right;\">2824<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">3\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">10762<\/td>\n<td style=\"text-align: right;\">4606<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">Avg<\/td>\n<td style=\"text-align: right;\">7405.33<\/td>\n<td style=\"text-align: right;\">3169.33<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u306a\u3093\u304b\u304b\u306a\u308a\u30d0\u30e9\u30c4\u30ad\u304c\u51fa\u307e\u3057\u305f\u3002\u3057\u304b\u3082\u6570\u5b57\u306f\u3069\u3093\u3069\u3093\u826f\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u3046\u30fc\u3080\u2026<\/p>\n<h2>local volume (\u5931\u6557\u7de8)<\/h2>\n<p>bind mount \u306f WSL \u3068\u304b\u30db\u30b9\u30c8OS\u306e\u5f71\u97ff\u3092\u5f37\u304f\u53d7\u3051\u308b\u304b\u3082\u306a\uff5e\u3068\u306a\u3093\u3068\u306a\u304f\u601d\u3044\u306a\u304c\u3089\u3001\u540c\u6761\u4ef6\u3067 local volume \u3082\u3084\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>\u30b3\u30de\u30f3\u30c9\u306f <code>--directory=\/workspace\/node_module<\/code><\/p>\n<pre><code>fio \\\n  --ioengine=libaio \\\n  --iodepth=16 \\\n  --direct=1 \\\n  --size=100m \\\n  --numjobs=16 \\\n  --group_reporting \\\n  --directory=\/workspace\/node_module \\\n  --bs=4k \\\n  --output=\/root\/result-local-volume.txt \\\n  --name=random-r70w30 \\\n  --rw=randrw \\\n  --rwmixread=70<\/code><\/pre>\n<p>\u305d\u306e\u4ed6\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u7cbe\u67fb\u306f\u305b\u305a\u3068\u308a\u3042\u3048\u305a3\u56de\u5b9f\u884c\u3057\u3066\u7d50\u679c\u3092\u898b\u3066\u307f\u307e\u3059\u3002  <\/p>\n<h3>\u30b3\u30de\u30f3\u30c9\u30ed\u30b0<\/h3>\n<pre><code>random-r70w30: (g=0): rw=randrw, bs=4K-4K\/4K-4K\/4K-4K, ioengine=libaio, iodepth=16\n...\nfio-2.16\nStarting 16 processes\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\nrandom-r70w30: Laying out IO file(s) (1 file(s) \/ 100MB)\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=3095: Fri Jun 12 17:57:25 2020\n  read : io=1120.5MB, bw=96779KB\/s, iops=24194, runt= 11855msec\n    slat (usec): min=10, max=729378, avg=162.49, stdev=3947.81\n    clat (usec): min=154, max=753921, avg=7212.49, stdev=24010.85\n     lat (usec): min=166, max=753934, avg=7374.97, stdev=24340.19\n    clat percentiles (usec):\n     |  1.00th=[  466],  5.00th=[  716], 10.00th=[ 1020], 20.00th=[ 1784],\n     | 30.00th=[ 2736], 40.00th=[ 3536], 50.00th=[ 4384], 60.00th=[ 5472],\n     | 70.00th=[ 7008], 80.00th=[ 9536], 90.00th=[13760], 95.00th=[18304],\n     | 99.00th=[32128], 99.50th=[41216], 99.90th=[585728], 99.95th=[716800],\n     | 99.99th=[733184]\n  write: io=491080KB, bw=41424KB\/s, iops=10355, runt= 11855msec\n    slat (usec): min=11, max=587055, avg=149.15, stdev=2113.18\n    clat (usec): min=152, max=753069, avg=6601.73, stdev=25086.49\n     lat (usec): min=165, max=753081, avg=6750.88, stdev=25193.47\n    clat percentiles (usec):\n     |  1.00th=[  358],  5.00th=[  524], 10.00th=[  836], 20.00th=[ 1432],\n     | 30.00th=[ 2320], 40.00th=[ 3056], 50.00th=[ 3888], 60.00th=[ 4832],\n     | 70.00th=[ 6176], 80.00th=[ 8384], 90.00th=[12480], 95.00th=[16768],\n     | 99.00th=[30080], 99.50th=[39680], 99.90th=[585728], 99.95th=[716800],\n     | 99.99th=[733184]\n    lat (usec) : 250=0.01%, 500=2.68%, 750=3.66%, 1000=4.46%\n    lat (msec) : 2=12.54%, 4=23.78%, 10=35.32%, 20=13.83%, 50=3.36%\n    lat (msec) : 100=0.10%, 250=0.14%, 750=0.12%, 1000=0.01%\n  cpu          : usr=1.42%, sys=12.26%, ctx=49495, majf=0, minf=140\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\n\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=96779KB\/s, minb=96779KB\/s, maxb=96779KB\/s, mint=11855msec, maxt=11855msec\n  WRITE: io=491080KB, aggrb=41423KB\/s, minb=41423KB\/s, maxb=41423KB\/s, mint=11855msec, maxt=11855msec\n\nDisk stats (read\/write):\n  sdc: ios=285407\/122151, merge=0\/18, ticks=856301\/346468, in_queue=1252850, util=99.28%\n\nrandom-r70w30: (g=0): rw=randrw, bs=4K-4K\/4K-4K\/4K-4K, ioengine=libaio, iodepth=16\n...\nfio-2.16\nStarting 16 processes\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=3205: Fri Jun 12 17:58:53 2020\n  read : io=1120.5MB, bw=64222KB\/s, iops=16055, runt= 17865msec\n    slat (usec): min=10, max=4600.5K, avg=238.75, stdev=17231.41\n    clat (usec): min=225, max=4619.3K, avg=10883.17, stdev=112540.56\n     lat (usec): min=262, max=4619.7K, avg=11121.92, stdev=113853.30\n    clat percentiles (usec):\n     |  1.00th=[  548],  5.00th=[  852], 10.00th=[ 1288], 20.00th=[ 2736],\n     | 30.00th=[ 3824], 40.00th=[ 4832], 50.00th=[ 5920], 60.00th=[ 7392],\n     | 70.00th=[ 9408], 80.00th=[12608], 90.00th=[17280], 95.00th=[21632],\n     | 99.00th=[35584], 99.50th=[43776], 99.90th=[91648], 99.95th=[4620288],\n     | 99.99th=[4620288]\n  write: io=491080KB, bw=27488KB\/s, iops=6872, runt= 17865msec\n    slat (usec): min=11, max=4598.5K, avg=210.05, stdev=13195.12\n    clat (usec): min=207, max=4617.1K, avg=10448.85, stdev=117589.18\n     lat (usec): min=219, max=4617.2K, avg=10658.90, stdev=118329.70\n    clat percentiles (usec):\n     |  1.00th=[  446],  5.00th=[  724], 10.00th=[ 1064], 20.00th=[ 2416],\n     | 30.00th=[ 3440], 40.00th=[ 4384], 50.00th=[ 5408], 60.00th=[ 6688],\n     | 70.00th=[ 8640], 80.00th=[11456], 90.00th=[16064], 95.00th=[20096],\n     | 99.00th=[34048], 99.50th=[41216], 99.90th=[92672], 99.95th=[4620288],\n     | 99.99th=[4620288]\n    lat (usec) : 250=0.01%, 500=0.85%, 750=3.00%, 1000=4.25%\n    lat (msec) : 2=6.87%, 4=17.98%, 10=40.22%, 20=20.86%, 50=5.64%\n    lat (msec) : 100=0.22%, 250=0.03%, >=2000=0.06%\n  cpu          : usr=0.87%, sys=8.85%, ctx=52051, majf=0, minf=160\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\n\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=64221KB\/s, minb=64221KB\/s, maxb=64221KB\/s, mint=17865msec, maxt=17865msec\n  WRITE: io=491080KB, aggrb=27488KB\/s, minb=27488KB\/s, maxb=27488KB\/s, mint=17865msec, maxt=17865msec\n\nDisk stats (read\/write):\n  sdc: ios=281630\/120592, merge=0\/48, ticks=1514001\/707364, in_queue=2310560, util=99.56%\n\nrandom-r70w30: (g=0): rw=randrw, bs=4K-4K\/4K-4K\/4K-4K, ioengine=libaio, iodepth=16\n...\nfio-2.16\nStarting 16 processes\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=3267: Fri Jun 12 18:00:27 2020\n  read : io=1120.5MB, bw=40033KB\/s, iops=10008, runt= 28659msec\n    slat (usec): min=10, max=5904.4K, avg=465.57, stdev=27430.86\n    clat (usec): min=201, max=6207.4K, avg=17514.68, stdev=150701.41\n     lat (usec): min=213, max=6207.4K, avg=17980.26, stdev=153266.04\n    clat percentiles (usec):\n     |  1.00th=[  524],  5.00th=[ 1048], 10.00th=[ 1880], 20.00th=[ 3472],\n     | 30.00th=[ 4832], 40.00th=[ 6304], 50.00th=[ 8256], 60.00th=[10688],\n     | 70.00th=[13760], 80.00th=[17280], 90.00th=[26496], 95.00th=[37120],\n     | 99.00th=[84480], 99.50th=[181248], 99.90th=[856064], 99.95th=[5931008],\n     | 99.99th=[6062080]\n  write: io=491080KB, bw=17135KB\/s, iops=4283, runt= 28659msec\n    slat (usec): min=11, max=5902.7K, avg=440.59, stdev=24409.91\n    clat (usec): min=173, max=6207.3K, avg=16460.93, stdev=149825.98\n     lat (usec): min=185, max=6207.3K, avg=16901.52, stdev=151860.71\n    clat percentiles (usec):\n     |  1.00th=[  418],  5.00th=[  852], 10.00th=[ 1512], 20.00th=[ 3024],\n     | 30.00th=[ 4320], 40.00th=[ 5728], 50.00th=[ 7456], 60.00th=[ 9664],\n     | 70.00th=[12608], 80.00th=[16320], 90.00th=[24192], 95.00th=[34048],\n     | 99.00th=[79360], 99.50th=[173056], 99.90th=[856064], 99.95th=[5931008],\n     | 99.99th=[6062080]\n    lat (usec) : 250=0.01%, 500=1.08%, 750=1.85%, 1000=2.21%\n    lat (msec) : 2=6.16%, 4=13.84%, 10=33.62%, 20=25.92%, 50=12.87%\n    lat (msec) : 100=1.56%, 250=0.54%, 500=0.15%, 750=0.03%, 1000=0.09%\n    lat (msec) : >=2000=0.06%\n  cpu          : usr=0.55%, sys=5.20%, ctx=61809, majf=0, minf=130\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\n\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=40033KB\/s, minb=40033KB\/s, maxb=40033KB\/s, mint=28659msec, maxt=28659msec\n  WRITE: io=491080KB, aggrb=17135KB\/s, minb=17135KB\/s, maxb=17135KB\/s, mint=28659msec, maxt=28659msec\n\nDisk stats (read\/write):\n  sdc: ios=285907\/122380, merge=0\/73, ticks=2830298\/1216395, in_queue=4119800, util=99.74%<\/code><\/pre>\n<h3>IOPS \u30b5\u30de\u30ea<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: right;\">#<\/th>\n<th style=\"text-align: right;\">Read IOPS<\/th>\n<th style=\"text-align: right;\">Write IOPS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: right;\">1\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">24194<\/td>\n<td style=\"text-align: right;\">10355<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">2\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">16055<\/td>\n<td style=\"text-align: right;\">6872<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">3\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">10008<\/td>\n<td style=\"text-align: right;\">4283<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">Avg<\/td>\n<td style=\"text-align: right;\">16752.33<\/td>\n<td style=\"text-align: right;\">7170.00<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u306a\u3093\u3068\u3044\u3046\u3053\u3068\u3067\u3057\u3087\u3046\u3001\u3069\u3093\u3069\u3093\u60aa\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3001\u3001<\/p>\n<p>Avg \u3068 Max \u3092\u6bd4\u3079\u3066\u307f\u308b\u3068 local volume \u306e\u65b9\u304c\u512a\u308c\u3066\u3044\u305d\u3046\u3060\u3051\u3069\u3001local volume \u306e\u4e00\u756a\u60aa\u3044\u6642\u306f\u3001bind mount \u306e\u4e00\u756a\u826f\u3044\u6642\u3088\u308a\u3082\u9045\u3044\u3002<\/p>\n<p>\u3053\u308c\u3067\u306f\u300c\u305d\u306e\u6642\u305d\u306e\u6642\u3067\u5909\u308f\u308b\u300d\u307f\u305f\u3044\u306a\u7d50\u8ad6\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u305d\u3046\u3067\u3001\u3053\u308c\u306f fio \u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u7591\u3063\u3066\u307f\u308b\u3079\u304d\u3068\u5224\u65ad\u3057\u6539\u3081\u3066\u4f7f\u3044\u65b9\u3092\u8abf\u3079\u3066\u307f\u308b\u3068\u3001<code>invalidate<\/code> \u306a\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u767a\u898b\u3002true \u306b\u30bb\u30c3\u30c8\u3059\u308b\u3053\u3068\u3067\u30ab\u30fc\u30cd\u30eb\u30d0\u30c3\u30d5\u30a1\u3068\u30da\u30fc\u30b8\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u7121\u52b9\u5316\u3059\u308b\u3089\u3057\u3044\u3067\u3059\u3002\u304d\u3063\u3068\u3053\u308c\u3060\u30fc\u30fc\u3002<\/p>\n<h2>bind mount volume (\u306a\u3093\u3068\u306a\u304f\u6210\u529f\u7de8)<\/h2>\n<pre><code>fio \\\n  --ioengine=libaio \\\n  --iodepth=16 \\\n  --direct=1 \\\n  --invalidate=1 \\\n  --size=100m \\\n  --numjobs=16 \\\n  --group_reporting \\\n  --directory=\/workspace \\\n  --bs=4k \\\n  --output=\/root\/result-bind-mount.txt \\\n  --name=random-r70w30 \\\n  --rw=randrw \\\n  --rwmixread=70<\/code><\/pre>\n<h3>\u30b3\u30de\u30f3\u30c9\u30ed\u30b0<\/h3>\n<pre><code>random-r70w30: (groupid=0, jobs=16): err= 0: pid=4890: Fri Jun 12 18:19:09 2020\n  read : io=1120.5MB, bw=37958KB\/s, iops=9489, runt= 30226msec\n    slat (usec): min=102, max=2696.5K, avg=1184.04, stdev=16793.00\n    clat (usec): min=14, max=2786.8K, avg=17587.83, stdev=66460.90\n     lat (usec): min=324, max=2808.6K, avg=18771.87, stdev=68844.54\n    clat percentiles (msec):\n     |  1.00th=[    8],  5.00th=[    9], 10.00th=[    9], 20.00th=[   10],\n     | 30.00th=[   11], 40.00th=[   12], 50.00th=[   13], 60.00th=[   14],\n     | 70.00th=[   16], 80.00th=[   19], 90.00th=[   26], 95.00th=[   36],\n     | 99.00th=[   69], 99.50th=[  103], 99.90th=[  277], 99.95th=[ 2704],\n     | 99.99th=[ 2769]\n  write: io=491080KB, bw=16247KB\/s, iops=4061, runt= 30226msec\n    slat (usec): min=113, max=2696.4K, avg=1067.11, stdev=17278.98\n    clat (usec): min=14, max=2802.8K, avg=17845.99, stdev=71096.28\n     lat (usec): min=190, max=2805.8K, avg=18913.10, stdev=73434.98\n    clat percentiles (msec):\n     |  1.00th=[    8],  5.00th=[    9], 10.00th=[    9], 20.00th=[   10],\n     | 30.00th=[   11], 40.00th=[   12], 50.00th=[   13], 60.00th=[   14],\n     | 70.00th=[   16], 80.00th=[   19], 90.00th=[   26], 95.00th=[   35],\n     | 99.00th=[   70], 99.50th=[  106], 99.90th=[  281], 99.95th=[ 2737],\n     | 99.99th=[ 2769]\n    lat (usec) : 20=0.01%, 50=0.01%, 250=0.01%, 500=0.01%, 750=0.01%\n    lat (usec) : 1000=0.01%\n    lat (msec) : 2=0.01%, 4=0.01%, 10=22.70%, 20=61.26%, 50=13.89%\n    lat (msec) : 100=1.62%, 250=0.39%, 500=0.08%, >=2000=0.06%\n  cpu          : usr=0.99%, sys=6.32%, ctx=411889, majf=0, minf=110\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=37958KB\/s, minb=37958KB\/s, maxb=37958KB\/s, mint=30226msec, maxt=30226msec\n  WRITE: io=491080KB, aggrb=16246KB\/s, minb=16246KB\/s, maxb=16246KB\/s, mint=30226msec, maxt=30226msec\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=4933: Fri Jun 12 18:20:51 2020\n  read : io=1120.5MB, bw=57217KB\/s, iops=14304, runt= 20052msec\n    slat (usec): min=103, max=63202, avg=787.42, stdev=784.70\n    clat (usec): min=13, max=73706, avg=11693.63, stdev=3764.64\n     lat (usec): min=449, max=74260, avg=12481.05, stdev=3907.20\n    clat percentiles (usec):\n     |  1.00th=[ 7200],  5.00th=[ 8032], 10.00th=[ 8512], 20.00th=[ 9280],\n     | 30.00th=[ 9792], 40.00th=[10432], 50.00th=[10944], 60.00th=[11584],\n     | 70.00th=[12480], 80.00th=[13504], 90.00th=[15168], 95.00th=[17280],\n     | 99.00th=[24704], 99.50th=[30080], 99.90th=[49920], 99.95th=[71168],\n     | 99.99th=[73216]\n  write: io=491080KB, bw=24490KB\/s, iops=6122, runt= 20052msec\n    slat (usec): min=106, max=61690, avg=667.05, stdev=770.73\n    clat (usec): min=14, max=73636, avg=11725.88, stdev=3789.35\n     lat (usec): min=204, max=74086, avg=12392.93, stdev=3927.37\n    clat percentiles (usec):\n     |  1.00th=[ 7200],  5.00th=[ 8032], 10.00th=[ 8512], 20.00th=[ 9280],\n     | 30.00th=[ 9920], 40.00th=[10432], 50.00th=[10944], 60.00th=[11712],\n     | 70.00th=[12480], 80.00th=[13504], 90.00th=[15296], 95.00th=[17280],\n     | 99.00th=[24960], 99.50th=[30592], 99.90th=[49920], 99.95th=[71168],\n     | 99.99th=[73216]\n    lat (usec) : 20=0.01%, 50=0.01%, 250=0.01%, 500=0.01%, 750=0.01%\n    lat (usec) : 1000=0.01%\n    lat (msec) : 2=0.01%, 4=0.01%, 10=32.79%, 20=64.79%, 50=2.30%\n    lat (msec) : 100=0.10%\n  cpu          : usr=1.49%, sys=9.52%, ctx=412061, majf=0, minf=120\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=57217KB\/s, minb=57217KB\/s, maxb=57217KB\/s, mint=20052msec, maxt=20052msec\n  WRITE: io=491080KB, aggrb=24490KB\/s, minb=24490KB\/s, maxb=24490KB\/s, mint=20052msec, maxt=20052msec\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=4995: Fri Jun 12 18:21:55 2020\n  read : io=1120.5MB, bw=56440KB\/s, iops=14110, runt= 20328msec\n    slat (usec): min=87, max=90988, avg=794.97, stdev=1033.96\n    clat (usec): min=14, max=114818, avg=11841.98, stdev=5138.10\n     lat (usec): min=363, max=115464, avg=12636.94, stdev=5344.76\n    clat percentiles (msec):\n     |  1.00th=[    8],  5.00th=[    8], 10.00th=[    9], 20.00th=[   10],\n     | 30.00th=[   10], 40.00th=[   11], 50.00th=[   12], 60.00th=[   12],\n     | 70.00th=[   13], 80.00th=[   14], 90.00th=[   16], 95.00th=[   18],\n     | 99.00th=[   24], 99.50th=[   43], 99.90th=[   85], 99.95th=[  105],\n     | 99.99th=[  112]\n  write: io=491080KB, bw=24158KB\/s, iops=6039, runt= 20328msec\n    slat (usec): min=100, max=91008, avg=679.51, stdev=1074.95\n    clat (usec): min=13, max=114338, avg=11856.25, stdev=5114.70\n     lat (usec): min=267, max=114962, avg=12535.76, stdev=5305.65\n    clat percentiles (msec):\n     |  1.00th=[    8],  5.00th=[    9], 10.00th=[    9], 20.00th=[   10],\n     | 30.00th=[   10], 40.00th=[   11], 50.00th=[   12], 60.00th=[   12],\n     | 70.00th=[   13], 80.00th=[   14], 90.00th=[   16], 95.00th=[   18],\n     | 99.00th=[   24], 99.50th=[   43], 99.90th=[   86], 99.95th=[  106],\n     | 99.99th=[  114]\n    lat (usec) : 20=0.01%, 50=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%\n    lat (msec) : 2=0.01%, 4=0.01%, 10=32.90%, 20=65.01%, 50=1.71%\n    lat (msec) : 100=0.29%, 250=0.07%\n  cpu          : usr=1.44%, sys=9.51%, ctx=412116, majf=0, minf=137\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=56440KB\/s, minb=56440KB\/s, maxb=56440KB\/s, mint=20328msec, maxt=20328msec\n  WRITE: io=491080KB, aggrb=24157KB\/s, minb=24157KB\/s, maxb=24157KB\/s, mint=20328msec, maxt=20328msec<\/code><\/pre>\n<h3>IOPS \u30b5\u30de\u30ea<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: right;\">#<\/th>\n<th style=\"text-align: right;\">Read IOPS<\/th>\n<th style=\"text-align: right;\">Write IOPS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: right;\">1\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">9489<\/td>\n<td style=\"text-align: right;\">4061<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">2\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">14304<\/td>\n<td style=\"text-align: right;\">6122<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">3\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">14110<\/td>\n<td style=\"text-align: right;\">6039<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">Avg<\/td>\n<td style=\"text-align: right;\">12634.33<\/td>\n<td style=\"text-align: right;\">5407.33<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u305d\u308c\u3063\u307d\u3044\u5b89\u5b9a\u3057\u305f\u5024\u304c\u53d6\u308c\u307e\u3057\u305f\u30024\u56de\u76ee\u4ee5\u964d\u306f\u8a18\u9332\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u3060\u3044\u305f\u30442,3\u56de\u76ee\u3068\u4f3c\u305f\u3088\u3046\u306a\u611f\u3058\u3002<br \/>\nLinux \u5074\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u306a\u3057\u306e\u8a2d\u5b9a\u3092\u5165\u308c\u305f\u306b\u3082\u95a2\u308f\u3089\u305a1\u56de\u76ee\u30682\u56de\u76ee\u4ee5\u964d\u306e\u7d50\u679c\u306b\u304b\u306a\u308a\u5dee\u304c\u3042\u308b\u306e\u306f\u3001\u3084\u306f\u308a bind mount \u3068\u3044\u3046\u3053\u3068\u3067 WSL \u3068 Windows \u306e\u4f55\u3089\u304b\u306e\u529b\u304c\u50cd\u3044\u3066\u308b\u3093\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<h2>local volume (\u306a\u3093\u3068\u306a\u304f\u6210\u529f\u7de8)<\/h2>\n<pre><code>fio \\\n  --ioengine=libaio \\\n  --iodepth=16 \\\n  --direct=1 \\\n  --invalidate=1 \\\n  --size=100m \\\n  --numjobs=16 \\\n  --group_reporting \\\n  --directory=\/workspace\/node_module \\\n  --bs=4k \\\n  --output=\/root\/result-local-volume.txt \\\n  --name=random-r70w30 \\\n  --rw=randrw \\\n  --rwmixread=70<\/code><\/pre>\n<h3>\u30b3\u30de\u30f3\u30c9\u30ed\u30b0<\/h3>\n<pre><code>random-r70w30: (groupid=0, jobs=16): err= 0: pid=544: Fri Jun 12 18:29:47 2020\n  read : io=1120.5MB, bw=114207KB\/s, iops=28551, runt= 10046msec\n    slat (usec): min=10, max=35562, avg=151.56, stdev=1019.33\n    clat (usec): min=128, max=76939, avg=6168.49, stdev=5043.70\n     lat (usec): min=144, max=76950, avg=6320.05, stdev=5146.71\n    clat percentiles (usec):\n     |  1.00th=[  478],  5.00th=[  892], 10.00th=[ 1208], 20.00th=[ 2288],\n     | 30.00th=[ 3280], 40.00th=[ 4080], 50.00th=[ 4896], 60.00th=[ 5856],\n     | 70.00th=[ 7200], 80.00th=[ 9152], 90.00th=[12608], 95.00th=[15936],\n     | 99.00th=[23936], 99.50th=[28544], 99.90th=[39168], 99.95th=[41728],\n     | 99.99th=[57600]\n  write: io=491080KB, bw=48883KB\/s, iops=12220, runt= 10046msec\n    slat (usec): min=11, max=39358, avg=152.82, stdev=1020.66\n    clat (usec): min=96, max=65071, avg=5429.24, stdev=4602.00\n     lat (usec): min=116, max=71292, avg=5582.06, stdev=4718.41\n    clat percentiles (usec):\n     |  1.00th=[  366],  5.00th=[  676], 10.00th=[  988], 20.00th=[ 1896],\n     | 30.00th=[ 2832], 40.00th=[ 3536], 50.00th=[ 4256], 60.00th=[ 5088],\n     | 70.00th=[ 6240], 80.00th=[ 8032], 90.00th=[11200], 95.00th=[14272],\n     | 99.00th=[21888], 99.50th=[25728], 99.90th=[36096], 99.95th=[39168],\n     | 99.99th=[45312]\n    lat (usec) : 100=0.01%, 250=0.01%, 500=2.05%, 750=2.33%, 1000=3.44%\n    lat (msec) : 2=10.82%, 4=22.61%, 10=42.98%, 20=13.86%, 50=1.89%\n    lat (msec) : 100=0.01%\n  cpu          : usr=1.50%, sys=14.66%, ctx=45788, majf=0, minf=152\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=114206KB\/s, minb=114206KB\/s, maxb=114206KB\/s, mint=10046msec, maxt=10046msec\n  WRITE: io=491080KB, aggrb=48883KB\/s, minb=48883KB\/s, maxb=48883KB\/s, mint=10046msec, maxt=10046msec\nDisk stats (read\/write):\n  sdc: ios=285998\/122419, merge=0\/14, ticks=827030\/320514, in_queue=1148660, util=99.09%\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=565: Fri Jun 12 18:30:45 2020\n  read : io=1120.5MB, bw=118378KB\/s, iops=29594, runt=  9692msec\n    slat (usec): min=10, max=60895, avg=135.40, stdev=941.80\n    clat (usec): min=217, max=73789, avg=5949.04, stdev=5072.25\n     lat (usec): min=229, max=78761, avg=6084.44, stdev=5159.10\n    clat percentiles (usec):\n     |  1.00th=[  482],  5.00th=[  908], 10.00th=[ 1224], 20.00th=[ 2224],\n     | 30.00th=[ 3120], 40.00th=[ 3856], 50.00th=[ 4576], 60.00th=[ 5472],\n     | 70.00th=[ 6816], 80.00th=[ 8896], 90.00th=[12224], 95.00th=[15552],\n     | 99.00th=[23680], 99.50th=[28032], 99.90th=[39168], 99.95th=[62208],\n     | 99.99th=[70144]\n  write: io=491080KB, bw=50669KB\/s, iops=12667, runt=  9692msec\n    slat (usec): min=11, max=61492, avg=144.49, stdev=979.97\n    clat (usec): min=126, max=71350, avg=5292.25, stdev=4746.88\n     lat (usec): min=139, max=71372, avg=5436.75, stdev=4848.67\n    clat percentiles (usec):\n     |  1.00th=[  370],  5.00th=[  668], 10.00th=[  980], 20.00th=[ 1864],\n     | 30.00th=[ 2736], 40.00th=[ 3408], 50.00th=[ 4048], 60.00th=[ 4832],\n     | 70.00th=[ 5984], 80.00th=[ 7840], 90.00th=[11072], 95.00th=[14144],\n     | 99.00th=[22144], 99.50th=[26240], 99.90th=[39168], 99.95th=[61696],\n     | 99.99th=[68096]\n    lat (usec) : 250=0.01%, 500=1.95%, 750=2.34%, 1000=3.33%\n    lat (msec) : 2=11.33%, 4=25.33%, 10=40.82%, 20=13.15%, 50=1.67%\n    lat (msec) : 100=0.07%\n  cpu          : usr=1.72%, sys=15.48%, ctx=43943, majf=0, minf=120\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=118378KB\/s, minb=118378KB\/s, maxb=118378KB\/s, mint=9692msec, maxt=9692msec\n  WRITE: io=491080KB, aggrb=50668KB\/s, minb=50668KB\/s, maxb=50668KB\/s, mint=9692msec, maxt=9692msec\nDisk stats (read\/write):\n  sdc: ios=286152\/122458, merge=0\/16, ticks=770130\/301702, in_queue=1069440, util=99.08%\n\nrandom-r70w30: (groupid=0, jobs=16): err= 0: pid=586: Fri Jun 12 18:31:36 2020\n  read : io=1120.5MB, bw=118586KB\/s, iops=29646, runt=  9675msec\n    slat (usec): min=10, max=151811, avg=137.68, stdev=1105.94\n    clat (usec): min=200, max=169899, avg=6034.38, stdev=6633.76\n     lat (usec): min=211, max=169911, avg=6172.06, stdev=6724.33\n    clat percentiles (usec):\n     |  1.00th=[  474],  5.00th=[  860], 10.00th=[ 1160], 20.00th=[ 2096],\n     | 30.00th=[ 3024], 40.00th=[ 3760], 50.00th=[ 4512], 60.00th=[ 5472],\n     | 70.00th=[ 6880], 80.00th=[ 9024], 90.00th=[12352], 95.00th=[15680],\n     | 99.00th=[23680], 99.50th=[27776], 99.90th=[99840], 99.95th=[152576],\n     | 99.99th=[158720]\n  write: io=491080KB, bw=50758KB\/s, iops=12689, runt=  9675msec\n    slat (usec): min=11, max=163218, avg=144.77, stdev=1214.29\n    clat (usec): min=130, max=167947, avg=5343.10, stdev=6039.10\n     lat (usec): min=155, max=169858, avg=5487.86, stdev=6156.90\n    clat percentiles (usec):\n     |  1.00th=[  366],  5.00th=[  636], 10.00th=[  940], 20.00th=[ 1736],\n     | 30.00th=[ 2608], 40.00th=[ 3280], 50.00th=[ 3984], 60.00th=[ 4768],\n     | 70.00th=[ 5984], 80.00th=[ 7904], 90.00th=[11200], 95.00th=[14272],\n     | 99.00th=[21888], 99.50th=[25728], 99.90th=[96768], 99.95th=[116224],\n     | 99.99th=[156672]\n    lat (usec) : 250=0.01%, 500=2.16%, 750=2.53%, 1000=3.80%\n    lat (msec) : 2=11.73%, 4=25.19%, 10=39.28%, 20=13.51%, 50=1.67%\n    lat (msec) : 100=0.04%, 250=0.09%\n  cpu          : usr=1.56%, sys=15.68%, ctx=42816, majf=0, minf=121\n  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 32=0.0%, >=64=0.0%\n     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%\n     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%\n     issued    : total=r=286830\/w=122770\/d=0, short=r=0\/w=0\/d=0, drop=r=0\/w=0\/d=0\n     latency   : target=0, window=0, percentile=100.00%, depth=16\nRun status group 0 (all jobs):\n   READ: io=1120.5MB, aggrb=118586KB\/s, minb=118586KB\/s, maxb=118586KB\/s, mint=9675msec, maxt=9675msec\n  WRITE: io=491080KB, aggrb=50757KB\/s, minb=50757KB\/s, maxb=50757KB\/s, mint=9675msec, maxt=9675msec\nDisk stats (read\/write):\n  sdc: ios=286327\/122573, merge=0\/22, ticks=754016\/294820, in_queue=1096580, util=99.05%<\/code><\/pre>\n<h3>IOPS \u30b5\u30de\u30ea<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: right;\">#<\/th>\n<th style=\"text-align: right;\">Read IOPS<\/th>\n<th style=\"text-align: right;\">Write IOPS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: right;\">1\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">28551<\/td>\n<td style=\"text-align: right;\">12220<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">2\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">29594<\/td>\n<td style=\"text-align: right;\">12667<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">3\u56de\u76ee<\/td>\n<td style=\"text-align: right;\">29646<\/td>\n<td style=\"text-align: right;\">12689<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">Avg<\/td>\n<td style=\"text-align: right;\">29263.66<\/td>\n<td style=\"text-align: right;\">12525.33<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u3053\u3061\u3089\u30821\u56de\u76ee\u30682\u56de\u76ee\u4ee5\u964d\u306f\u3084\u3084\u5dee\u304c\u51fa\u305f\u3082\u306e\u306e\u30015%\u4ee5\u5185\u306b\u306f\u53ce\u307e\u3063\u3066\u3044\u308b\u611f\u3058\u3067\u3059\u3002  <\/p>\n<h1>\u7d50\u8ad6<\/h1>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: right;\">#<\/th>\n<th style=\"text-align: right;\">Read IOPS Avg<\/th>\n<th style=\"text-align: right;\">Write IOPS Avg<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: right;\">bind mount<\/td>\n<td style=\"text-align: right;\">7405.33<\/td>\n<td style=\"text-align: right;\">3169.33<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">local volume<\/td>\n<td style=\"text-align: right;\">16752.33<\/td>\n<td style=\"text-align: right;\">7170.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">bind mount (<code>invalidate=1<\/code>)<\/td>\n<td style=\"text-align: right;\">12634.33<\/td>\n<td style=\"text-align: right;\">5407.33<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">local volume (<code>invalidate=1<\/code>)<\/td>\n<td style=\"text-align: right;\">29263.66<\/td>\n<td style=\"text-align: right;\">12525.33<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>local volume \u306e\u65b9\u304c Avg \u3067100\uff5e130%\u304f\u3089\u3044\u9ad8\u901f\u3067\u3042\u308b\u3068\u8a00\u3048\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>Dev in Container with Docker on WSL2 \u3067\u306f\u3001<br \/>\n\u4f9d\u5b58\u95a2\u4fc2\u306e\u30d5\u30a1\u30a4\u30eb\u306f local volume \u306b\u7f6e\u3053\u3046\u3002<\/p>\n<h2>(\u53c2\u8003\u8cc7\u6599) Visual Studio Code \u3067\u958b\u767a\u3059\u308b\u6642\u306e .devcontainer \u306e\u8a2d\u5b9a<\/h2>\n<h3><code>.devcontainer\/docker-compose.yml<\/code><\/h3>\n<pre><code>#-------------------------------------------------------------------------------------------------------------\n# Copyright (c) Microsoft Corporation. All rights reserved.\n# Licensed under the MIT License. See https:\/\/go.microsoft.com\/fwlink\/?linkid=2090316 for license information.\n#-------------------------------------------------------------------------------------------------------------\nservices:\n  node:\n    # Uncomment the next line to use a non-root user for all processes. You can also\n    # simply use the \"remoteUser\" property in devcontainer.json if you just want VS Code\n    # and its sub-processes (terminals, tasks, debugging) to execute as the user. On Linux,\n    # you may need to update USER_UID and USER_GID in .devcontainer\/Dockerfile to match your\n    # user if not 1000. See https:\/\/aka.ms\/vscode-remote\/containers\/non-root for details.\n    user: node\n\n    build:\n      context: .\n      dockerfile: Dockerfile\n\n    volumes:\n      - ..:\/workspace:cached\n      - \/workspace\/node_modules\n\n    # Overrides default command so things don't shut down after the process ends.\n    command: sleep infinity<\/code><\/pre>\n<h3><code>.devcontainer\/Dockerfile<\/code><\/h3>\n<p>permission \u8a2d\u5b9a\u306e\u305f\u3081\u3001\u81ea\u52d5\u751f\u6210\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u90e8\u6539\u5909\u3057\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre><code>#-------------------------------------------------------------------------------------------------------------\n# Copyright (c) Microsoft Corporation. All rights reserved.\n# Licensed under the MIT License. See https:\/\/go.microsoft.com\/fwlink\/?linkid=2090316 for license information.\n#-------------------------------------------------------------------------------------------------------------\n\nFROM mcr.microsoft.com\/vscode\/devcontainers\/javascript-node:0-12\n\n# The node image includes a non-root user with sudo access. Use the\n# \"remoteUser\" property in devcontainer.json to use it. On Linux, update\n# these values to ensure the container user's UID\/GID matches your local values.\n# See https:\/\/aka.ms\/vscode-remote\/containers\/non-root-user for details.\nARG USERNAME=node\nARG USER_UID=1000\nARG USER_GID=$USER_UID\n\nRUN mkdir -p \/workspace\/node_modules\n\n# [Optional] Update UID\/GID if needed\nRUN if [ \"$USER_GID\" != \"1000\" ] || [ \"$USER_UID\" != \"1000\" ]; then \\\n        groupmod --gid $USER_GID $USERNAME \\\n        && usermod --uid $USER_UID --gid $USER_GID $USERNAME; \\\n    fi\nRUN chown -R $USER_UID:$USER_GID \/home\/$USERNAME \/workspace;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3002\u6b66\u4e95\u3067\u3059\u3002 2020\u5e745\u6708\u672b\u306b\u5f85\u671b\u306e Windows 10 May 2020 Update \u304c\u516c\u958b\u3055\u308c\u3001WESEEK, Inc. \u3067\u958b\u767a\u4e2d\u306e GROWI \u3067\u3082 WSL2 \u3068 Docker Desktop \u3092\u5229 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":314,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[5,10],"tags":[],"class_list":["post-313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-growi","category-javascript"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/posts\/313"}],"collection":[{"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/comments?post=313"}],"version-history":[{"count":0,"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/posts\/313\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/media\/314"}],"wp:attachment":[{"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/media?parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/categories?post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/growi.co.jp\/blog\/wp-json\/wp\/v2\/tags?post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}