うまいぼうぶろぐ

linuxとhttpdとperlのメモ

7/19 オープンソースカンファレンス2008 Kansaiいってきた

会場が京都コンピュータ学院ってこともあって、1教室に数十人と適度な広さだったかな。7/20のShibuya.jsはてなの話も聞きたかったんだけど、この日は会社のBBQだったので無理でした。それにしてもあの内容で無料というのはなかなか太っ腹ですね。

Linux+Xenによるサーバ仮想化

基本的な説明と簡単なデモ、事例紹介。SUSE Linuxが最新のXenをバンドルしてる。
SUSEのマスコットキャラのgeekoかわいいよgeeko。

サーバ集約
  • 基本的にCPU利用率が低いものを集約
  • メモリはそれなりに使うので、大容量メモリを用意
  • I/O(Disk、Network)が共有されるのでサーバ用途に注意
LM(live migration)のデモ
  • vmwareの場合はVMotionという名前
  • 稼動している仮想OSを生かせたまま、実サーバを移行させる
  • 切り替えはmsecの瞬断(SWのmacアドレス書き換え)
  • 万全ではないので失敗するときもある
    • 計画停止の一歩前ぐらいの感覚で
    • 追記 失敗しても既存の仮想マシンが稼動続けるのでサービスに影響はでない

※ コメントありがとうございます

仮想ホスト数
  • quad coreの1コアにつき仮想ホスト2個が目安らしい
60%ルール
  • スペック上の最大仮想ホスト数 * 0.6を搭載する仮想ホスト数として見積もる

(ブレードが故障したときに他に振り替えたりするので)

zabbix - オープンソースでシステム監視

講師の寺島さんが新庄似のいい男だったのが妙に印象に残ってる。なぜだ。
nagiosとかもだけど、最近のはフリーでも十分な機能があるみたいですね。

zabbixの特徴
  • オープンソース(GPL)
  • 対応OSが豊富
  • Webインタフェースで全て出来る
  • plugin等の追加が不要(nagiosはplugin追加形式だっけか??)
  • データはSQLデータベースにためる
  • 監視設定のテンプレート化
  • snmpでも監視できるので、エージェントレスの監視もOK
  • zabbixエージェントを入れると細かな設定も入れれる
    • トリガきっかけでスクリプト実行が可能
    • プロセス再起動など
  • httpのレスポンスの文字列チェック、ステータスコードチェックも可能
監視対象のノード数について質問した
  • 質問: 監視対象数に限界はありますか?

回答:
1ノードでどれだけの項目を監視するかによるそうです。
zabbixエージェントを入れて1ノードで全項目(50程度?)監視した場合で、100台監視した実績はあるとのこと。というわけで実際はもっといけそうですね。
1ノードの監視をping、interfaceなどの数項目にしぼれば1000台ぐらいはいけるのでは。

MySQLで大量データを投入するには

大量データ投入の試験
  • csvファイルをload dataを使って投入してみる
  • 1G、2G、4Gのデータinnodbテーブルに投入
とりあえず結論
  • 投入するデータはprimary keyでsortするほうが良い
    • 4Gデータで170倍の差: sort 14.0分、未sort 787分
    • 投入後の検索結果にも影響が出る: 約15倍
    • こうなる原因はinnodbのB-tree構造によるもの
  • 大量データ投入後はOPTIMIZE TABLEする速くなる
  • 定期的にOPTIMIZE TABLEすることも検討する

memcached

質問してたのを見ると、みんな実際にmemcached使いだしてるみたい。
やってみたいけど、機会がまだないなー。
facebookのサービスはmemcachedの容量だけで15TBぐらい使ってるらしいですよ!スケールでかすぎて意味わかんねぇ!

mysqlとの統合
  • appサーバがDBからデータ取得して、memcachedに反映
  • 最近はmysqlのUDFを使って、DBサーバからmemcachedに反映することも
postgresql
  • pgmemcache
その他