SlideShare a Scribd company logo
1 of 27
Download to read offline
それは静かに、
そして確実に近づいていた
Windows 497日問題
襲
来わんくま同盟
大阪#56 LT 資料
平穏な日常を打ち破る
突然のサーバ動作不良
平穏な日常を打ち破る
突然のサーバ動作不良
WARNING
WARNING WARNING
WARNING
WARNING
▲
▲
▲
▼
▼
▼▼
WARNING
▲
▼
ING
ING
WARNI
▲
▼
WARNI
▲
・ DB サーバへの接続エラー
・外部サーバへの TCP 通信エラー
・外部サーバからの TCP 通信は OK
・ UDP 通信は送受信どちらも OK
・サービス自体は動作問題なし
・ DB サーバへの接続エラー
・外部サーバへの TCP 通信エラー
・外部サーバからの TCP 通信は OK
・ UDP 通信は送受信どちらも OK
・サービス自体は動作問題なし
「動作が不安定、
現状モニターできません」
まずは動作回復を目指し、
サービスの再起動
まずは動作回復を目指し、
サービスの再起動
「ダメです。動作症状
変化ありません!」
「えーい、こうなったらこうよ!」
「ミサト、何をしているの !? 」
「ポチッとな」
「えーい、こうなったらこうよ!」
「ミサト、何をしているの !? 」
「ポチッとな」
「サーバ再起動、動作回復。
通常モードに移行しました」
当面の危機を脱し、
そして始まる原因解明。
しかし調査は難航。
解決の糸口が見え無い中、
技術者がある事に気づく。
「最後にサーバ再起動したのが
 昨年の5月」
「まさか ....... 」
「ちょうど、497日経過だ ! 」
ここで突然、497日問題とは?
http://support.microsoft.com/kb/2553549/ja
・ unsigned32 ビットの最大値 0xffffffff
・10進数に直すと、 4294967295
・これを10ミリ秒単位で刻むと、
497 日 2 時間 27 分 52 秒 950 ミリ秒
・この時刻を経過すると、
TIME_WAIT 状態であるすべての
TCP/IP ポートが閉じられなくなり、
通信出来なくなる。
簡単に説明すると・・
・ TCP/IP 通信を、自身からセッションを
 切断したときに発生する、タイムアウト
 待ち時間の事。
・セッション切断後に、ネットワーク上を
 遅延していたパケットが到着した場合、
 他プログラムが取得してしまう事を
 防ぎます。
その TIME_WAIT とは?
497 日経過後、自分から
TCP/IP 通信を切断したら、
ずっと TIME_WAIT 状態となり、
そのポートは、
2度と使用できなくなります。
つまり、 497 日問題とは・・・・
・相手からの通信や、
 セッション張りっぱなしの
  TCP/IP 通信は問題なく
 行える。
この問題の恐ろしい処は・・・
・ UDP 通信は正常に動作
この問題の恐ろしい処は・・・
・ UDP 通信は正常に動作
 →システムの動作チェックに
   UDP を使用していたら、
   気づかない。
この問題の恐ろしい処は・・・
・ TCP による DB 接続不可
・ TCP によるサーバ
 多重化制御に失敗
  (勿論ハードやソフト・アプリの作りに依存します)
この問題の恐ろしい処は・・・
・定期チェックでは、予見できない。
・きっかり 497 日経過すると、
 不具合発生。
・大抵、忘れてる。
 そして、忙しい時に限り発生する。
 
この問題の恐ろしい処は・・・
・サーバ管理大切。
 
・フェイルセーフ大切。
 ただし、経費とご相談。
・ Google 先生。
  497 日問題一発で出たよ・・。 
 
まとめ
・サーバ管理大切。
 
・フェイルセーフ大切。
 ただし、経費とご相談。
・ Google 先生。
  497 日問題一発で出たよ・・。 
 
まとめ
・サーバ管理大切。
 
・フェイルセーフ大切。
 ただし、経費とご相談。
・ Google 先生。
  497 日問題一発で出たよ・・。 
 
まとめ
次回
予告
パッチを当て、問題は解消された。
だが、プログラマーは苦悩する。
まだ見ぬ不具合に怯え、
不信感のディラックの海に
取り込まれてしまう。
そこでは、 Linux が彼に微笑む。
次回
「 Linux でも
497日問題発生」
この次も、サービス♪サービス♪
      (始末書的な意味で)

More Related Content

Viewers also liked

Viewers also liked (7)

保守とDDDと私
保守とDDDと私保守とDDDと私
保守とDDDと私
 
ドメイン駆動設計(DDD)導入判定チェックシート
ドメイン駆動設計(DDD)導入判定チェックシートドメイン駆動設計(DDD)導入判定チェックシート
ドメイン駆動設計(DDD)導入判定チェックシート
 
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみましたぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
 
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
 

Recently uploaded

Recently uploaded (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Windows497日問題体験記