- - PR -
負荷分散システムでのNFSの利用について
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-05 22:18
最近知ったのですが, ※GFS のことを調べていて知ったのですが... NFS は通信の際に data を 8KB とか 4KB に細切れにしてやり取りするそうですね. とすると,I/O も十分にボトルネックになりそうな気がしてます. とくに複数の NFS client から同時に喋ってきたら, 通信より I/O のほうがキツいんじゃなかろうかという素人考えがあったりします. | ||||||||||||||||||||
|
投稿日時: 2005-03-05 23:50
純粋に読み出しだけ、というのをやったことはありませんが... Maildir形式のIMAPサーバなんかだと、大部分は読み出しですが、 それでもNFSサーバはボトルネックになり得ます。 ・・・というか、これは単純な話で、NFSクライアントn台に 対してNFSサーバ1台の構成でnを増やしていけばいつかは必ず サーバがボトルネックになるのは当然の話ですよね。
キャッシュはあります。
サーバ側です。 クライアントのほうが数が多いですし。
そーでもにゃいです。 1Gbpsで結んでるところで、NFSサーバをあっぷあっぷさせるのは わりと簡単です。
両方だと思いまふ。そんなによく知ってるわけじゃないですが。 | ||||||||||||||||||||
|
投稿日時: 2005-03-06 00:04
皆さんの議論の中でNFSでやるのはパフォーマンス上(ネットワーク、IO)
問題あるのはわかりましたが、GFSなら解決する問題でしょうか。 ぽんすさんがおっしゃったように参照するクライアントを顧客の増加に伴い 増やす必要がある場合、GFSでも問題が出てくるのではないでしょうか。 (特にネットワーク) このような場合はやはりクラスターファイルシステムなどを導入すべきでしょうか。 それとも一元化などせずに各WWWサーバやAPサーバがローカルに保持すべきでしょうか。 [ メッセージ編集済み 編集者: amata 編集日時 2005-03-06 00:24 ] | ||||||||||||||||||||
|
投稿日時: 2005-03-06 00:40
えーと、べつにNFSはマズイと言ってるわけじゃないです、念のため。 ボトルネックになりやすいので必要な性能を出せるのかどうか 気をつけたほうがいい、というだけのことで。
クラスタファイルシステムについては知りませんが... そこまでやる必要があるのかどうか、という話ですよね。
ケースバイケースでしょうね。 管理/運用が複雑化するとか、バグを作りこみやすくなるとか、 ありそうですので。 | ||||||||||||||||||||
|
投稿日時: 2005-03-06 01:03
すでにお二方が指摘されていますが, 通信であれ I/O であれ,front end の負荷にともなって back end も負荷が増大するのは自明ですね. で,より「どちらが良いか?」という比較論の前に, まず「どこまでの性能が必要か?」というお話がまず先に来るべきでしょう. というのが,既にぽんす様のご指摘にありますので, GFS をもう少し. 性能を考慮するなら, 或いは FibreChannel を利用するとかしたほうがよろしいのでは? そこで Cluster File System を用いるなどすれば, 抜群の性能は引き出せるでしょうけど,如何せん費用がかかります. 次善策としては iSCSI + GFS が考えられるでしょう. iSCSI で SCSI -> Ethernet の負荷を考慮しても, iSCSI 専用の HBA がありますから, そこで「共有 file system」たる GFS を用いると, NFS よりは幸せになれるでしょう. ですが,これらの策を用いる場合, 概ね「I/O に負担の無い構造」が必要となるわけで, NAS であれ SAN であれ,相応の storage を準備する必要に迫られるでしょう.
なので,まず「予算はどのくらいで,要求性能はどのくらい」から算出すべきかと. ぶらさがる client の数によって必要な性能は変わるでしょうし, それにともなって「実施される処理」が storage/back end 側に 必要な処理性能も変わるでしょうし... つまり,単純に「性能を上げる」のと, 「運用上必要な性能を得る」のとは微妙にズレがあるのではないかと思います. そこのところはドウなんでしょう? -> amata様 それに,back end が application server なら NFS や GFS といった話は無縁の内容となるでしょうし, もう少し具体的な条件が挙がらないと ある種の「宗教論争」になりかねないんじゃないかと思った次第です. 以上,愚見です. | ||||||||||||||||||||
|
投稿日時: 2005-03-07 12:05
現在、WWWサーバ2台、APサーバ2台で運用されていますが、ユーザ数の増加に伴い
必要なサーバを追加していくシステムです。 そのため現在の運用だと、アクセス数が何倍にも増えた場合、それぞれ何倍にも 増やされたサーバが相変わらず1台のNFSを参照しに行くようになります。 それだといくらNFSサーバを増強してもいずれ限界がくるようになると思います。 私が想定しているのはコンテンツを各サーバにデプロイしてくれるようなものがあれば コンテンツの一元化とパフォーマンスの問題、運用のわずらわしさの全てから 開放されるのではないかなと思い、何かいい方法はないものかと伺った次第です。 シェル組むしかないですかね。 |