yumetodoの旅とプログラミングとかの記録

旅や登山の記録やプログラミング関連の話とかフリーソフト紹介とか

雑にLinuxでDisk性能とか見る方法

hdparam

$ hdparm -tT  /dev/mapper/vg_00-lv_root

/dev/mapper/vg_00-lv_root:
 Timing cached reads:   15752 MB in  1.99 seconds = 7920.19 MB/sec
 Timing buffered disk reads: 602 MB in  3.01 seconds = 200.17 MB/sec

fio

[global]
ioengine=libaio
iodepth=1
size=1g
direct=1
runtime=60
directory=${TARGET}
stonewall

[Seq-Read]
bs=128k
rw=read

[Seq-Write]
bs=128k
rw=write

[Rand-Read-512K]
bs=512k
rw=randread

[Rand-Write-512K]
bs=512k
rw=randwrite

[Rand-Read-4K]
bs=4k
rw=randread

[Rand-Write-4K]
bs=4k
rw=randwrite

みたいな設定ファイルを作って

# mkdir fio_target
# TARGET_DIR="$(pwd)/fio_target"
# ls -l
-rw-rw-r-- 1 yumetodo yumetodo  329  8月 14 16:24 fio.txt
drwxr-xr-x 2 root     root      6  8月 14 16:30 fio_target
# TARGET=${TARGET_DIR} fio -f fio.txt --output-format=json | tee /tmp/fioresult_hostname.json

すると計測できる。あとはjqでjq '.jobs[]|select(.jobname == "Seq-Read")|{"128kread_bw_bytes": .read.bw_bytes}'とかして必要なやつだけ取り出す

UnixBench

Dhrystone 2 using register variables       39643828.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6746.9 MWIPS (8.9 s, 7 samples)
Execl Throughput                               3371.3 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        533058.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          140689.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1581604.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              669822.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  80602.7 lps   (10.0 s, 7 samples)
Process Creation                               7833.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5743.2 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1241.8 lpm   (60.0 s, 2 samples)
System Call Overhead                         415196.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   39643828.0   3397.1
Double-Precision Whetstone                       55.0       6746.9   1226.7
Execl Throughput                                 43.0       3371.3    784.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     533058.1   1346.1
File Copy 256 bufsize 500 maxblocks            1655.0     140689.9    850.1
File Copy 4096 bufsize 8000 maxblocks          5800.0    1581604.7   2726.9
Pipe Throughput                               12440.0     669822.4    538.4
Pipe-based Context Switching                   4000.0      80602.7    201.5
Process Creation                                126.0       7833.5    621.7
Shell Scripts (1 concurrent)                     42.4       5743.2   1354.5
Shell Scripts (8 concurrent)                      6.0       1241.8   2069.6
System Call Overhead                          15000.0     415196.9    276.8
                                                                   ========
System Benchmarks Index Score                                         949.0

みたいな結果が得られる

fish入れた後にいつもやってること

$ curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
$ fisher install jorgebucaran/fisher
$ fisher install jorgebucaran/nvm.fish oh-my-fish/theme-bira rbenv/fish-rbenv
$ fish_update_completions

ruby使うときは

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ fisher install rbenv/fish-rbenv
$ fish_add_path $HOME/.rbenv/bin
$ rbenv init
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

検証東行き: 【過酷】大阪駅から1日中”路線バス”だけ乗り継いだら東西どっちが遠くまで行ける⁉︎

はじめに

交通系Youtuberとしておなじみ西園寺さんの動画、「【過酷】大阪駅から1日中”路線バス”だけ乗り継いだら東西どっちが遠くまで行ける⁉︎」のうち、ZAKIさんがすすんだ東行きのルートを検証するものです。

www.youtube.com

なおすでに「えらい会長のローカル路線バスチャンネル 」さんが検証されているのでそちらを先に御覧ください。

www.youtube.com

ZAKIさんの実際のルート

大阪京都間は淀川西岸を経由して京都に至り、京都からは比叡山を経由する予定でしたが、京阪三条前での乗り継ぎに失敗し、山科へ転進、山科から徒歩で峠越えして大津に向かい、堅田駅を目指すも途中の唐崎で打ち止めとなりました。
最終的な直線距離は52kmとなり、西園寺さんの40.3kmを上回り勝利しました。

「えらい会長のローカル路線バスチャンネル 」さんの検証では比叡山経由に成功した場合、大津で実際と同じバスに収束するようでしたので、ミスを徒歩でカバーしたファインプレーだったと言えるでしょう。

しかし、もっと良い乗り継ぎはなかったのでしょうか?

大原まで乗り続けた場合

「えらい会長のローカル路線バスチャンネル 」さんの検証では京都駅から乗ったバスを三条京阪前で降りずに終点の大原まで行ったらどうなるかを検証していました。バス旅に多少でも詳しい方なら、鯖街道を目指すのは自然な考え方です。

  • 京都駅前 (16:54) → 大原 (18:02): 京都バス:17
  • 大原 (18:12) → 小出石 (18:20)

小出石の時点で大阪駅から直線距離で58.2km、残り40分を徒歩ででさらに北を目指すと60kmを超えることができたでしょう。

鯖街道について

なお鯖街道の小出石~途中~梅の木~細川~朽木を抜けるバスは土日の朝に1往復しかありません。堅田~途中~梅の木~細川を抜けるバスも同様です。

ロケ日は平日でしたので鯖街道を目指す場合は梅の木~細川~朽木を抜ける高島市コミュニティバスを利用するしかありません。梅の木からの最終バスこそ18:48と遅めですが、小出石から梅の木までは17kmもある山道で、大型車も通る交通量の多い道で危険であり、歩くのは現実的ではありません。

竹田駅で直接山科を目指したら

竹田駅で1分乗り継ぎを逃した時点で、三条京阪前の0分乗り継ぎ失敗は予想できていたことが動画中にもありました。ではこの時点で思い切って山科を目指したらどうなるでしょうか?

京都盆地から山科~六地蔵に至る谷筋に抜ける道は、北から順に

  1. 東山五条から山科に抜ける国道1号線
  2. 今熊野から山越えして大石神社に抜ける府道118号線
  3. 鳥羽街道駅から大石神社に抜ける稲荷山トンネル
  4. 京阪藤森駅から名神高速道路沿いに勧修寺に抜ける府道35号線
  5. 中書島から六地蔵に抜ける府道6号線

の5つがあり、この内2の山道はバスはありません。

竹田駅から山科を目指すのに最も北に位置する国道1号線を経由するのは遠回りです。山科~六地蔵間の主要なバスの拠点といえば醍醐バスターミナルです。こちらを目指すとどうなるか探してみると次のようなルートが見つかります。

竹田駅から醍醐バスターミナル方向に直行するバスを小野駅で降りて、山科に向かうバスに乗り継ぐルートです。小野駅~醍醐バスターミナルはルート的に同じになるのは地図を見れば確認できたと思われます。

別解として、小野駅の更に少し手前、勧修寺泉玉町で乗り換えるルートもありますが山科駅で収束します。

いずれにせよ実際ルートより1時間早く山科につくことができます。

山科から先の乗り継ぎを実際ルートに沿っていくと次のようになります。

琵琶湖大橋東詰からはピエリ守山のほうに少し歩いて終了、直線距離は62kmとなります。時刻表上は守山駅行きを速野小学校前まで進めそうですが、大阪駅からの直線距離的には損してしまいます。

堅田駅の時点で60kmなので、守山駅よりはそのまま北に逢える真野駅方向に進みたいですが、バスは16時台で終わっており、歩いてもぎりぎり守山駅にたどり着かずに同じく62kmとなると思われます。

なお大津駅から東に向かうバスはちょうどいいものが見当たりませんでした。

淀川東岸で京都方向を目指したら

寝屋川市駅まで

実際ルートでは茨木市付近や天王山超えでバスが繋がらず徒歩を強いられていました。では淀川東岸を進んだらどうなるでしょうか?

守口車庫前から京阪守口市駅の乗り継ぎが非常にタイトで、実際ルートと同じ大阪駅前10:11発ではおそらく間に合いません。これを逃すと大日駅まで3kmを歩くことになったでしょう。

大日駅からのバスは豊富ですが、このあとの乗り継ぎを考えるといずれにせよ大阪駅は速やかに出る必要がありそうです。

京阪中書島まで

その先を見てみます。淀川東岸で京都方向に行こうと思ったらイオンモール久御山を経由したいところです。なぜなら他に木津川を渡るルートが石清水八幡宮から淀を歩いて渡るしかないからです。

ところが枚方市から順当に樟葉駅を経由してしまうと松井山手駅で1時間20分の待ちが発生してしまいます。結果として京阪中書島着が17時を過ぎてしまいますので、「竹田駅で直接山科を目指した場合」に劣ってしまいます。

イオンモール久御山へもう一本はやい乗り継ぎを探すと、長尾駅から歩くルートが浮上します。

長尾駅からの徒歩時間に余裕を持たせたい場合は、京阪香里園の時点で3分乗り継ぎを成功させる必要があります。

山科まで

京阪中書島から醍醐バスターミナルに直接向かうと非常に乗り継ぎがよくありません。醍醐バスターミナルでの1分乗り継ぎは机上の空論でしょう。しかも最終的に「竹田駅で直接山科を目指した場合」に収束します。

一旦竹田駅方向に向かうルートではどうでしょうか?

竹田駅で直接山科を目指した場合」に収束します。

結論

京都盆地を目指すにあたって、淀川西岸と東岸では最善手を選んだ場合竹田駅で収束するという結果になりました。

竹田駅までの歩き距離は

  • 実際ルート: 5.3km
  • 淀川東岸ルート: 3.1km

のように淀川東岸ルートが優れています。

一方で淀川東岸ルートでは多くのトラップがありました。

  • 大阪駅から速やかに守口車庫前へ向かう必要がある
  • 枚方市から順当に樟葉駅を経由してしまうと大幅に時間ロスしてしまう

ZAKIさんはイオンモール久御山周辺のバス事情はある程度知っていたはずなので、そこから時刻を逆算すればこの乗り継ぎの可能性もありました。しかし、順方向に乗り継いでいけた実際ルートのほうがルート捜索は容易だったでしょう。

竹田駅から先については、バスの本数的に比叡山超えにかけるよりは山科を直接目指すほうが良さそうです。あるいは大原から北に向かうことも考えられますが、ロケ後に帰るのが困難そうなので堅田駅守山駅に向かうほうが都合が良かったかもしれません。