SSDでLinuxを運用するスレ
■ このスレッドは過去ログ倉庫に格納されています
0073login:Penguin
2010/10/10(日) 23:03:35ID:Fg1qdVm7http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/
のページとか見ながらSSDの扱い方を実験してるんですが、その後も
- メーカが努力してるから512B/sectorとして使うのでOKだよ
- マテ、チップ1つでも16KB/pageとかなんだからそれに合わせろよ
- いやいや、並列チャネル数分は掛け算して16*16=256KBとかにしろよ
- いやいや、消去ブロックサイズは32pageだから更にx32程じゃないの?
とか諸説あるようで、自分のSSDをどう構成するのが一番よいのか判断付かず困りました。
自分で実験してみると、ストレートに書いた場合の最高性能は256-512KB/block付近で
hdparm -t近く出るので
並列チャネル論が正しく、かつ、ブロック消去は非同期に行われる。よって
イレースブロックサイズは考えず、ページサイズとチャネル数を推測できればよい。
が有力なんですが、一方でわざとアライメントを外したデータでテストすると
512B-1/blockから2KB-1/blockの書き込みが妙に高効率(アライメントが揃う
場合と等速)の上、4KB-1から16KB-1/blockのアクセスで突然半減します。
挙動としては8KBのブロックが中にあって、だからそこからわずかにアライメントが
ずれるケースで境界を跨ぎまくって最悪効率になってるような動き。
いまの所、mkfsでは4KB/inode(挙動的には8KB/inodeだけど、これはたぶんLinuxの側でネックになる)にして
stripe-widthを256KBか512KBにする構成が自分のSSDにはよさそうだ、となったのですが、
他の人はどうやってSSDの構成チェックしてるんでしょうか?何かアホみたいに面倒で・・・
■ このスレッドは過去ログ倉庫に格納されています