2010年07月27日(火) これまでの07月27日 編集

■1 シリーズ・クロールとDoSの違いと業務妨害罪と(7) - 念力デバッグ再び[http://www.nantoka.com/~kei/diary/?20100722S1][電子自治体][DoS][mashup][セキュリティ][LibraHack] このエントリーをはてなブックマークに追加

その後も、 #LibraHack[http://search.twitter.com/search?q=%23LibraHack] の方では、検討が続いており、セッションのタイムアウトの時間等、様々なことが明らかになりつつある。
これまでの検討で、連続したアクセスを受けた場合、恐らくデータベース接続に絡む何らかのリソース(以下、単に「リソース」と呼ぶ)が、使い尽くされ、しばらくの時間、応答ができなくなる…といった現象が発生していたのであろうということが、明らかになりつつある。
発生した現象をグラフにすれば、以下の様なグラフになるであろう。
シミュレーションによるDB接続数とデータ取得件数のグラフ
ここでは、
  1. 「リソース」はスタート時点では、全てが使える状態であり、ここでは400あるものとしている。
  2. 1秒間に1度、ページを取得し続ける。1ページを取得するたびに「リソース」も、1消費されていく。
  3. ここでは、1リクエスト/秒としているため、タイムアウト時間の秒数が、「リソース」の個数に達したとき、「リソース」が使い尽くされ、新たなリクエストに応えられなくなる。
  4. タイムアウト時間(ここでは600秒)に到達し、スタート時点で確保した「リソース」が解放され始めると、再び取得が可能になる。
  5. その1秒後には、スタートから1秒後に確保した「リソース」が解放され、以下、その繰り返しで、取得が可能な状態が継続する。
  6. 再び取得可能になった時刻から、「リソース」の個数分だけリクエストを行うと、再び「リソース」が枯渇し、3.の状態となる。
  7. 以下、その繰り返し。
  8. アクセスを止めれば、1秒ごとに「リソース」が解放され、定常状態に戻る。
と言った状況をシミュレートしている。なお、このグラフでは、他にも一般の利用者を模したアクセスを発生させている。
発生した状況が、この通りのものであったとすると、
nResource = 「リソース」の個数[n]
tTOut = タイムアウト時間[sec]
tWait = ページ取得間隔[sec]
とした時、アクセスできなくなる時間、tDownは、
tDown = tTOut - nResource × tWait [sec]
(但し、tDown < 0の時、アクセスできなくなる時間は生じない。)
と、表されるが、これまでに明らかになっている情報や、取材結果から受ける印象では、tDownはある程度大きい *1 はずで、これまでの分析で推定されている他のパラメータからして、この単純なモデルでは、tDownの長さを説明できないように感じる。
  • 実際の「リソース」解放のタイミングやメカニズムが異なる(まとめて解放される)。
  • 実は、セッションタイムアウトで明示的な後処理をしておらず、ガベージコレクタが走るまで「リソース」が解放されていなかった。
  • 実は、書誌と所蔵、予約情報を取得するために複数の「リソース」を獲得する必要があり、途中で失敗した時に、途中まで確保した「リソース」を開放していなかった。
  • そもそも新着図書更新のタイミングでは、新刊図書に予約を入れようとする利用者がおり、アクセスが集中する上に、エラーが出たら、すぐ苦情が発生する状況にあった。
  • その他
といった、何か他の要因があるのかも知れないが、いずれにせよ、プログラムの実装に問題があった *2 ことは間違いないようだ。

普通のシステムでは:

「リソース」は、例えば、数ギガバイトのディスクに対して、数キロバイトだったり、データベースのレコードだったりして、数十万とか数百万のオーダーに達する。
このため、ネットワークやCPU、HDDと言った要素が律速になり、「リソース」個数の不足によるサービス停止状況と言うのは発生しないのが普通だ。
*1: 利用者が発見して、苦情の電話をして、職員が確認してシャットダウンする位の時間であるから、少なくとも5分程度はあったのでは無かろうか。
*2: もし、実装に問題は無く、そういう「仕様」だったとするならば、今回の現象は、「仕様通りのエラー発生」だったという事だ。それを知っていながら、他者のせいにして被害届を出したという事であれば、これは大問題だ。

今日のつぶやき

  • @librahack この類のエラーが露出するのは、きちんとエラーハンドリングをしていない可能性を暗示しますね。あるいは、エラーメッセージのところでページが切れて、htmlとして未完成だったりすると、エラー処理していない可能性はさらに大きくなりますが。 #libraHack2010-07-27 07:35:54 Tween librahack宛て
  • 実際に、セッションやオブジェクトがいつ回収されるのかには関心があります。タイムアウト即時解放では無いかも知れません。 RT @HiromitsuTakagi: @gutei 「ひょっとするとある程度まとめて開放」←ASPのGCのタイミングとか関係あるのかも。 #librahack2010-07-27 07:37:52 Tween
  • 発掘についてこの本で読みました。 http://amzn.to/9P4TGw RT @boogoto: 江戸の大造成はすごいよ〜厚さ数メートルなんてざら RT @null_project: 地を築く、まさに築地とはこのことですね… #nagasaki2010-07-27 07:46:49 Tween
  • @seri_nazuna おはようございます。夏休みに入ってから、早朝ラジオ体操をする様になって、朝は涼しいんだなぁと実感する今日この頃ですが、もう、さっそく暑くなってきました。2010-07-27 07:51:34 Tween seri_nazuna宛て
  • ディプロマミルな感じ - これがアグネス大学の卒業証書だ! 数年かけて修士課程や博士課程も実施 http://bit.ly/9I77Ea2010-07-27 08:54:27 Tween
  • I'm at 長崎市ダイヤランド・小ケ倉ふれあいセンター (日本, ダイヤランド, 長崎市). http://4sq.com/cHMIHH2010-07-27 13:29:29 foursquare
  • Android対応Bluetoothキーボード。欲しい!って思ったけど、これ持ち歩くんだったらノート持っていきそう。 http://www.elecom.co.jp/news/201007/tk-fbp017bk/index.html2010-07-27 14:31:27 Tween
  • @makiuna いや、何も関係ないんじゃない?2010-07-27 14:31:59 Tween makiuna宛て
  • @makiuna それはわからん2010-07-27 14:35:28 Tween makiuna宛て
  • @wamkichi そこから登って天后堂で関帝様にもお参りして、唐人屋敷の南西端の小橋を渡って、中国の影響を受けた広済寺ってコースですかね。2010-07-27 14:40:03 Tween wamkichi宛て
  • 海外からガンガンやられて困っている話を聞きました。破られているか、専門の部隊がいるかという勢いらしいです。 RT @masa8723: IPDLのCAPTCHAとか破った人いるのかしら。librahackとかより危険度が高い気がするが(システムの不安定さも加味して2010-07-27 17:40:21 Tween
  • さて、ばんごはんつくらなきゃ。2010-07-27 17:49:53 Tween
  • スルーカ!スルーカ! RT @mimizun librahackというハッシュタグに必要なのはスルー力2010-07-27 21:19:20 Twitter for Android
  • シリアルアクセスでは、リクエストの返事をもらうまで、次のリクエストは出しませんから、リクエストが溜まるということはないのです。リクエストが溜まったのでどうこうと言うヒトには、事実に基づいた議論をして欲しいと思います。 #LibraHack2010-07-27 21:32:26 Twitter for Android
  • あと、多くのサーバは、リクエストが集中しても落ちると言うことはありません。一時的なリソース涸渇の発生条件について、日記で考察しましたが、これは「落ちる」のとは違う現象です。議論に参加頂くためには、このあたり、キャッチアップして理解して頂く必要があるでしょう。 #LibraHack2010-07-27 21:46:05 Twitter for Android
以上、1 日分です。

指定日の日記を表示

前月 2010年07月 翌月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近の日記

2017年02月21日

BIGの投票内容(発番)につきまして(2017.02.20)

2016年06月29日

「SEI-Net」不正侵入事件にみる佐賀県教育委員会の杜撰

2015年11月26日

武雄市図書館から“地方自治”を考える!

2015年11月21日

シリーズ武雄市TSUTAYA図書館(34) - 「第3のツタヤ図書館にデキレース疑惑 内部資料を独占入手!」落ち穂拾い

2015年10月30日

シリーズ武雄市TSUTAYA図書館(33) - 海老名市ツタヤ館運営の行方

2015年10月26日

シリーズ武雄市TSUTAYA図書館(32) - 10月26日付 文化通信「TRC、CCCとの関係解消へ」

2015年10月25日

シリーズ武雄市TSUTAYA図書館(31) - 続・検証「9つの市民価値」

分野別タイトル一覧


全て
CLIP
SYA!nikki
book
freebsd
hns
magic
おさけ
おしごと
お買いもの
ぐる
ごはん
アクセシビリティ
オープンソース
セキュリティ
音楽
地域情報化
電子自治体
日記

keikuma on Twitter

keikuma Name:前田勝之
Location:長崎市
Web:http://www.nantok...
Bio:前田勝之(まえだかつゆき)。長崎在住。コンサル、SE、プログラマー、 なんとか株式会社代表、非常勤講師(情報セキュリティ)。 セキュアド、テクニカルエンジニア(SV,NW)。サーバ管理とWeb日記を10年ほど。 ネットとリアルの接点に関心あり。食べること・歌うこと・愛すること・作ること・飲むこと。おいしいものがぜんぶすき。

サイト内検索

Google AdSense

Powered by hns-2.19.9, HyperNikkiSystem Project