- 73 名前:login:Penguin mailto:sage [2010/10/10(日) 23:03:35 ID:Fg1qdVm7]
- ついにねんがんのSSD(SSDN-ST64B/東芝HG2 OEM)を手に入れて
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の構成チェックしてるんでしょうか?何かアホみたいに面倒で・・・
|

|