webサーバ勉強会

webサーバ勉強会#2に参加しています。
2010-12-12 Webサーバ勉強会#2 まとめ
apache周りとのことでどの発表も楽しかったのですが、個人的にはsmallpalaceさんのnfs周りの話がお題とは違った趣旨の中で気になったりしてました。自分のところのサーバセグメントが全部一つのnfsを参照するようになっているため、今後はもっとチューニングが必要になるはずでしょう。過去に何度か、topしたらnfs周りのステートが表示された状態でプロセスが出まくって問題になったことがあります。スライドが公開されたら確認しておかねば、ねばねば。


まずは主催者@oranieさんの発表。

  • prefork利用時のチューニングについて。
  • 基本的な設定値の説明や、マシン本来の力を超えては性能を引き出せないことについて。
  • 逆にメモリリソースなどがあまっているのは本来の力を出し切っていないということ。
  • abでプロセスを暖めるような感じで、1プロセスあたりのメモリ使用量を見てみる実演。
  • かりかりチューニングするといざというときに余裕がなくて困りますよ

次は@kuwa_twさん。”チューニングで逃げる”

  • 必要のないモジュールは削除(DSOとかあるけど作り直しましょう) -> DSOってなぁに <- 動的共有オブジェクト <- .koをkldloadするようなものらしい。
  • MPMの設定は適切に。
  • 実際に利用する際には、プロセスの生成にはコストがかかるのであまりプロセスが立たないようにしてあげましょう。
  • maxclientsが1000なら
    startservers = 10 , threads per child = 100ならかけ算して1000になる。minもmaxも1000
  • keepaliveについて。
  • maxkeepaliverequestsを100にしてみると、keepalivetimeoutは短めに。10とか。これ長めにしてしまうとサービスいっぱい喰われてしまう。
  • kuwa_twさんが好きなのは1 < keepAliveTimeout
  • 1だからといってoffにするとコストがかかってしまうよ。
  • maxKeepAliveRequestは1ページあたりのコネクションより少し少なめに。
  • ETagについて。ETagはファイルの情報を元に作成してるので、LoadBalance使ってる場合には絶対にinodeで判断したらだめだよ。
  • MTimeとSizeでやってやるといいよ。 < nfsだとどうなんだろう
  • FileETagのオプションで、
  • FileETag -INode Mtimeってやってもうまくいかなくて、
  • FileETag All -INode Mtimeってやるといいらしです。 <- -(マイナス)オプションはAllから引いてやるってやらないと効かないよ
  • サーバ構成について。静的ファイルと動的ファイルは鯖を分けましょう。
  • 動的ファイルを静的ファイルにしよう <- wget + mod_rewriteで

@soestudioさんによるmod_pagespeedについて

  • 標準状態にmod_pagespeedを組み込んでみると、遅くなった!
  • どうやらmd_pagespeedって手動で設定しなくちゃいけないcssの外部化とかを自動でやってくれるものらしい。
  • JMeterで負荷をかけてみる。 < 耳にしてたけど負荷かけツールなんだ!
  • なんかHTMLの構文エラーみたいなログがいっぱいでるよ!
  • これ構文チェックとかcssの参考とかに使えそうなmodだね

@shin3さんによるSSLチューニング。SSLの設定とかSSL/TLSについて理解しよう!

  • chromeとfirefoxは一緒の暗号化ライブラリをつかってる
  • operaは認証をするcipher suiteの一覧を設定できるよ!
  • 2010年から1024ビットじゃなくて2048ビットの証明書を使いましょう! – 2010年問題
  • linuxだとeth0:1とか書けば仮想nicがいけるらしい。最近のは進んでるなぁ。1ホストでnat+pppoeとかできちゃうんじゃないかな。
  • xperはsniが使えない
  • 証明書のcn(common name)にはwilde cardがつかえるよ!携帯でもつかえるよ! *.example.comとか
  • sslは SSL Session Cacheを使うといいよ! SSLセションの再利用ができるよ!
  • shared memoryをcycricにバッファするshmcb, shm hash table な shmht, DataBase Management,   mcはmemcache
  • 公開鍵暗号の科技庁が長くなると暗号化とか複合化に時間かかります。
  • 脅威を正しく評価し、適当な強度のアルゴリズムを選択する。
  • SSLを使うのであればSSLアクセラレータを使うと早くなるよ。
  • IPアドレスベースの仮想ホストをたてるといろいろな面でSSLのことが便利だよ!
  • opensslは結構地雷原。

自分の発表。

  • ログの管理は大変だよ、ログサーバ作ろうよ。
  • 意外にもファイルI/Oってcpuもってかれたりするから注意
  • LinuxはLVMだね! -> freebsdならzfs使わないとかな!
  • logはとってたりとってなかったり(するところがあるらしいよ!)。あとからログ出せやって言われたりするので個別にホストごとにファイルをまとめて圧縮とか切り出しとかして保管。
  • →5年は保管って決められてたりするよね。海外にサーバ置いてしまえば気にしなくて良かったりするよね。


@smallpalaceさんのwebサーバのチューニングについて。

  • traceenable off <- この設定はなんだろう <- なんかセキュリティ的にオフにしようってのがちらほら、dtraceとかではないらしい。
  • その他いろいろと数字の変更点など。スライドがどこかにあるかな、あれば後でちゃんと見ておこう。
  • ログサーバは受け側で負荷がかかるのでtcpのチューニングしてるよ!
  • mod_cacheとかmod_mem_cacheとか。mod_mem_cacheは早くなるらしい。
  • mod_disk_cacheを利用したことあるけれど、それがswapして逆に遅くなった。
  • sysctl.confの内容についてとか。
  • webサーバではいらないcronの実効権限を落としておこう chmod 0(ゼロ、一つだけで全員分なのかな)でできるらしい。
  • nfsを利用するときはRPCNFSDCOUNT=を8->32とかに増やしてやろう。
  • 起動時に割り当てるメモリを増やそう < nfs
  • /proc/sys/net/core/rmem_derfaultとか
  • マウントオプションを非同期にする < nfs      async, rw, no_root_squash

コメントを残す