オープンソースカンファレンス2007 Tokyo/Fallに行ってきました。(一日目)
<< Webサーバのパフォーマンスチューニング >>
1.チューニングの種類
2.キャッシュの種類
3.Opcodeキャッシュ
- 実装方法(PHPエクステンション)
- インストール方法
4.SQLキャッシュ
SQLの実行結果を保存 → DBの負荷軽減(DBが遅くない場合、意味がない)
キャッシュは速さを追求するのがベターなため、メモリへキャッシュするのが望ましい。
- 実装方法(メモリキャッシュ)
- APC
- 個々のサーバで別々にメモリ管理
- 手軽に実装可能
- Apacheの再起動により、キャッシュが削除される。(再起動時に大量のキャッシュ作成)
- memcached
- 複数サーバのメモリを一括管理
- PECL::Memcache(複数のmemcacheを一つに見せる。フェールオーバ可能)
- キャッシュ可能量が、サーバ台数に比例する。
- サーバの追加・削除がネック(サーバ追加時に、キャッシュにヒットしなくなる。(大量のキャッシュ作成が発生))
5.HTMLキャッシュ
HTMLそのものをキャッシュ(超高速)
HTMLの条件作成が大変(GET・SESSIONの値。情報量が少なければ簡単。)
Smartyのキャッシュ(仕組みが簡単。)
6.効果
Webサーバを追加した場合とチューニングした場合の比較(目安)。
7.まとめ
- APC or memcached ?
- 大量のクエリキャッシュができ、かつ複数サーバの場合は、「memcached」
- SQLキャッシュの前に・・・
- インデックスは使われているか?
- 無駄なjoinはないか?
8.参考URL
<< DRBD、DRBD Plusによるディザスターリカバリ、超大容量ディスクのバックアップの実際 >>
1.DRBDについて
- 機能
- ネットワーク越しのRAID1(リアルタイムミラー(ブロックレベル))
- ライセンス
- 主な用途
2.DRBD Plusについて
- DRBDとの違い
- ライセンス
- 商用
3.DRBD(drbd)の設定ファイル、設定コマンド
- /etc/drbd.conf
- drbdadmコマンド
- 上位レベルの設定管理コマンド
- drbdsetupコマンド
- 下位レベルの設定管理コマンド
- /etc/rc.d/init.d/drbd(/etc/init.d/drbd)
- スタートアップスクリプト
4.heartbeatとの組み合わせ
- drbdと組み合わせて2ノードクラスターを構築できる
- ハートビートでクラスターノードを相互監視し、障害検出時にアクティブとスタンバイを切り替える
- 設定ファイル
- /etc/ha.d/ha.cf
- /etc/ha.d/haresources
- 管理・監視スクリプト
5.DRBD Plusによる3ノードミラーリング
6.DRBD Plus+LVMによる大容量ディスクのバックアップ
- LVMスナップショット
7.参考URL
<< MySQL Enterprise Serverの実践的簡単ベンチマーク試験 〜はじめの一歩〜 >>
1.性能検証で実施したいこと
- 開発するシステムに対応した性能検証を実施したい
- 検証内容は、システム毎に異なる
- データサイズ
- データ構造
- クエリーの種類
- 検証シナリオ
2.Super Smackとは?
- 無償で使用できるベンチマークツール
- MySQLとPostgreSQLで使用可能
- 試験のシナリオは、独自スクリプトで定義
- 出来ること
- 簡単なテストデータ作成
- 任意のクエリを使用して試験可能
- 負荷の変更が可能
- 結果の集計
3.Super Smackの使用方法
- 面白そうなので、近々使ってみたい・・・。
4.JMeter
- Super Smackで出来ない複雑な検証試験が可能
- Javaで書かれているので、負荷が高いらしい
- 使ってみたい
5.参考URL
<< Xen+Windowsで構築するサーバ仮想化環境 >>
1.Virtual Machine Driver Packとは?
- Xenの完全仮想化で動作するゲストOS用デバイスドライバ
- 仮想ネットワーク用ドライバ(ギがビット対応)
- 仮想ディスク用ドライバ(ソフトウェア的SCSI)
- 高速な準仮想化を利用できないゲストOSを高速化する手法
2.Virtual Machine Driver Packの導入方法
3.Virtual Machine Driver Packのパフォーマンス
- 100MBのファイルをコピーした場合、VMDPのある/なしでコピー速度が約1/4に短縮
- VMDPありだとネイティブとほぼ同等のパフォーマンスが可能に
4.仮想化環境でのCPU割り当てについて
- Domain0との切り替えオーバーヘッドが発生するので、2CPUの割り当ての方がパフォーマンスが低下することがある。
(デュアルコアの場合、2CPU割り当てると占有してしまうため。VMwareでも同様のことが発生する。基本的に1VM1CPUで問題ない。)
5.搭載するVMの上限
- 「コア数*2」くらいが上限
- 現実的には、上限の6割くらいを搭載する(障害時のVM割り当てが可能なため)
6.参考URL
<< 「出張か〜ねる読書会」Japanese Linux Hackers. Who wrote 2.6.23? >>
Linux Kernelへの日本人の貢献度調査。
2.6.12から2.6.23-rc9までの日本人のコミット数は、2,713件。(4.25%(全体は、65,514件))
Linus Torvalds氏とAndrew Morton氏は、やはり凄い数のコミット数でした。
まだまだ日本人のコミット数が少ないなぁと感じました。
少しでも貢献できるようになりたいと思いました。(いつになることやら・・・。がんばろう>自分。)
1.参考URL