ブログトップ 記事一覧 ログイン 無料ブログ開設

まめ畑 このページをアンテナに追加 RSSフィード Twitter


2012-01-20 eacceleratorとgraceful restart

[][][] eacceleratorとgraceful restart 02:25  eacceleratorとgraceful restartを含むブックマーク

PHP5.3.8とeaccelerator0.9.6.1の組み合わせで使ってる際に起こったこと。

httpdをgraceful restartとすると、eacceleratorのキャッシュにhitしたタイミングで、Segmentation faultを出してPHPが落ちてしまう。当然、処理が中途半端なところで終わるので、httpdのアクセスログには返したレスポンスなどは出ずに、Segmentation faultの文字がエラーログに出る。コネクションはリセットされてクライアントには何も返さない。


httpdをrestartした場合は、問題なく動作しているが、graceful restartを行うと、ほぼこの症状になる。

key/contents/sessionキャッシュをdisk_onlyにしても症状は変わらない。復帰させるのは、eacceleratorのキャッシュディレクトリを空にしてhttpdをrestartすれば良い。


過去に同じような構成で、このような症状に当たったことが無いので、詳細を調査中。

メモリ上にあるキャッシュは消えているが、graceful restartにすると、まだそのメモリ領域を参照し続けてしまうのだろうか…


eacceleratorのビルドオプションに「--with-eaccelerator-doc-comment-inclusion」を追加してるけど、これが悪さするともコード読んだりする限り思えない…

しかし、ticket#416にこのオプションで同様の問題が起こることと修正の記述が。

eacceleratorを切ってgraceful restartすると問題は起こらない。


eaccelerator.shm_only="0" を eaccelerator.shm_only="1" に変更し、シェアードメモリだけにキャッシュを配置すると問題は起こらなくなった。

海外のフォーラムでも同様の症状が昔から報告されていて、restartで起こる事もあるとの事。検証環境ではgraceful restartでのみ起こっている。

シェアードメモリ中のキャッシュとディスクにキャッシュが存在している場合にrestartをすると、シェアードメモリ中のキャッシュは消えているが、ディスクに残っているキャッシュデータから参照しようとしてSegmentation faultになっているのか…

もう少し詳細に調査する必要がある。フォーラム中にある、coredumpの結果などを見ると、mod_phpがSegmentation faultを出している感じなので、eacceleratorだけが悪いわけでも無いのかもしれない。


**追記**

httpdを再起動したタイミングでは、きちんとメモリ中のキャッシュは削除されていました。Segmentation faultを出している状態でも、キャッシュされていないPHPプログラムは正常にレスポンスを返してきており、Segmentation fault発生時もある程度までPHPコードが実行されてキャッシュに乗っている状態でした。キャッシュされたコードから呼び出した先がメモリ上から消えておりSegmentation faultが出ている感じです。メモリ上のキャッシュは消えているが、ディスク上のキャッシュはまだ生きているような不整合が起こっているような動作をしています。


もう少し詳細調べてますが、曖昧なところが多いので、原因判明したらまとめようと思います。

2011-09-18 scientific linuxのtext install

[]scientific linuxのtext install 18:58 scientific linuxのtext installを含むブックマーク

最近、scientific linux6.1をいじっているのですが、text installで少しはまったのでメモ。

Scientific Linux - Welcome to Scientific Linux (SL)


text install modeに入るには

この画面で TABキーを押し

f:id:con_mame:20110918185540p:image

スペースをあけて、textと入力してEnter

f:id:con_mame:20110918185541p:image

で完了です。


ただ、text installでは以下の制限があります。

You are unable to do customized partitions in text mode.

You are unable to review and edit partitions in text mode.

You are unable to put your boot loader anyplace special in text mode.

You are unable to select packages and/or groups in text mode.

You only get a minimal install.

パーテションレイアウトの変更もできないし、パッケージの選択も出来ません。

Coreパッケージのみがインストールされていました。

2011-02-22 Mac版Live Messengerが繋がらなくなったら

[][]Mac版Live Messengerが繋がらなくなったら 00:05 Mac版Live Messengerが繋がらなくなったらを含むブックマーク

先週の土曜ぐらいから、Mac版のMicrosoft Messenger8でサインイン出来ない症状が出ているようなのですが、以下の方法方で直すことが出来ました。


1. Messengerを終了する

2. /Users/userName/Library/Preferences/com.microsoft.Messenger.plistを消す

3. /Users/userName/Library/Preferences/Microsoft/Microsoft Messenger User Cache.plist があったら削除する

4. Messengerを起動してサインイン


設定ファイルを削除するので、保存してあったサインイン情報や設定が初期化されるのでご注意下さい。

2011-01-13 MacBook Air 11インチ欲しい!

[]MacBook Air 11インチ欲しい! 00:15 MacBook Air 11インチ欲しい!を含むブックマーク

MacBook Air 11インチ欲しい!

あけましておめでとうございます。

今年もこのダイアリーを宜しくお願い致します。


本当に欲しい。

2010-12-15 mysql-ftppcの最新版が更新されてました

[][][]mysql-ftppcの最新版が更新されてました 00:22 mysql-ftppcの最新版が更新されてましたを含むブックマーク

MysqlftppcでICUを使うとクラッシュする - まめ畑mysql-ftppcの最新版Ver. 1.6とICUライブラリを使用するとMySQLがクラッシュする問題の対処法を書きましたが、先日Ver. 1.6.1が公開されていました。

これで先の問題は解決しました。

mysql full-text parser plugin collection - Browse /mysqlftppc/1.6.1 at SourceForge.net


先日、勉強会で作者さんの前でこのプラグインの事を発表したのですが、書き直しを予定されているとの事でした。

対応ありがとうございます!

2010-11-13 Adobe Dynamic StreamingのLT資料公開しました

[]Adobe Dynamic StreamingのLT資料公開しました 12:06 Adobe Dynamic StreamingのLT資料公開しましたを含むブックマーク

先日、某社エンジニア同期で勉強会が開催され、そこでAdobe HTTP Dynamic StreamingについてLTをしたので、資料を公開します。

LTで使用した物を少し修正してます。


間違いなどありましたらコメントをいただけるとありがたいです。


2010-10-24 hbstudy#16に参加した

[]hbstudy#16に参加した 00:49 hbstudy#16に参加したを含むブックマーク

インフラ系勉強会があるということなので、参加してきました。

普段は、プログラム系の勉強会は結構みるのですが、インフラ系は初めてだったので、凄く勉強になりました。

あまり情報がないのでサーバインフラ周りの情報が聞けてよかったです。

懇親会も楽しかった!

公式サイト: hbstudy#16 - インフラエンジニア勉強会hbstudy | 株式会社ハートビーツ


taRgrey

スパム対策についての要望が非常に多い

メールアドレスへの愛着が既存ユーザをつなぎとめている

  • スパムの現状
    • 海外 90%以上
    • 日本語 70ー80%
    • 年々増加している

スパムBotから送信されている(97%)

スパムの大半は海外の動的IPから

Botが直接相手のISPサーバのに接続して送信されている

日本語のスパムのはOP25Bにより激減

  • Botnetは寡占
    • Bot総数は不明だが、何100万台という単位
    • 少数のBotnetが大半のスパムを送信している(5種類程で90%のスパムを送信)
    • Botnetの癖がわかれば対処可能

スパム対策セキュリティ対策の一環

スパムWebサイトへ誘導

誘導したサイトで各種脆弱性をついて攻撃

taRgreyはBotを狙い打ち



  • taRgreyで利用するフィルタ
    • SMTPセッション情報を組み合わせて処理を行う
    • S25R
    • 動的IPっぽい逆引名を拒否
    • 逆引名とのパターンマッチ
    • 再送をログで確認して救済
    • 検出率も高いが誤検出も多い
  • 90%程のスパムにヒット
  • greylisting
    • 一時拒否して再送してきたら受け取る
    • 一時拒否(4xx)で返すと正しいMTAは再送してくる
    • 95%程のスパムにヒット

これらの手法の利点

処理が軽い

判定の揺れが無い

スパム除去率は85-95%


  • S25Rの問題点
    • 誤検出が多い
    • ログでの確認で誤検出対応するのは大規模サービスでは現実的ではない
  • greylistingの問題点
    • メールの遅延
    • 再送しない正しいサーバや違うIPから送ってくると再送と認識しない(再送を専用のMTAなど)

誤検出がない事を重視すべき

検出率に目が行くが運用上重要なのは誤検出

重大な誤検出が起こるとユーザは使ってくれない

仕事が増える

人が判定するよりご検出が少なくなるのが最低ライン


誤検出や遅延がなくなるように組み合わせる

多重に組み合わせるのではなく嬢権を絞ることに使う

一つの仕組みでシンプルなシステムにこだわると逆に誤検出や負荷の問題が起こりやすい





  • taRgreyの目的
    • 誤検出や遅延、負荷増化なく大部分のスパムを削減する
    • taRgreyのバックに2次フィルタを入れても判定方法が異なる為被りが少ない

  • tarpitting
    • 10秒や60秒などの区切りとなる時間で落ちて行く


まとめ

taRgreyは・・・

誤検出や地縁がない事を重視した設計

具区数の手法の弱点をカバーし合う様に組み合わせている

検出率もそこそこ高い



ケーブリング哲学

  • ケーブリングの重要性
    • 重要性を意識しないと、見た目にきれいじゃないので、上司や取引先からの視線が痛い
    • トラブルシュートに時間がかかる
    • なんだかわからないけど、遅くなったり、切れたり
    • LANケーブル用途別にケーブルが違う
  • パッチケーブル
    • パッチ間の配線に使用
    • 曲げに強いが、短い距離でしか使えない(〜5M)
    • 配線しやすいように柔らかい

  • 自作ケーブルの危険性
    • 売っているケーブルは一本一本テスターで検索されている
    • 高い周波数の電流をながしても通るか検索してる
    • コネクタ部分のより戻しが短くなってきているので、自作では難しい
    • 圧着機とコネクタの相性が悪いと中のケーブルを潰してしまう

  • 整線
    • ラックの大きさによる違い
    • 整線に便利なアイテム
  • ラックの大きさによる違い
    • 横に隙間がなければ扉との隙間
  • 整線に便利なアイテム
    • ケーブルダクト
  • LANケーブル同士の干渉
    • 平行に這わした場合
    • 平べったいケーブル

  • ラベル
    • 結束バンドについているもの
    • ケーブルに巻きつけるもの
    • ケーブルの用途がわかりやすい
    • 何処に行っているかがわかる
    • 管理できる

負荷分散、ストレージ周り、障害のポイント、アクセス増加が話に多く出てた印象でした。

考えるべき点が多いジャンルだと再認識しました。