タグ

ブックマーク / kazzz.hatenablog.com (2)

  • TIME_WAIT状態によるポート枯渇対策 - Kazzz's diary

    結局Bind例外を発生させるのは負荷が高くなることにより消費されるTCPソケットのポートの枯渇が原因であった。 先日のエントリではシステムのTCP/IPパラメタを設定することで回避できると書いたが、冷静になって考えてみると根にあるのTCP接続/切断を繰り返しているその作りの悪さだということに気が付く。 そもそもその問題を引き起こしたアプリケーションはサーバとの接続を決まった範囲のポートでしか行わない訳で、ならば接続/切断を繰り返す必要は全く無い。ということでアプリケーションを修正し、使用するポートの範囲が決まったならば接続したが最後システムダウンまでは切断しないで使いまわすようにした。これでTIME_WAIT状態のソケットは激減した。 しかし、TIME_WAIT状態のソケットはまだ大量に発生し続けている。何故か? TCPソケットは別にそのアプリケーションだけで使っている訳ではなく、Jav

    TIME_WAIT状態によるポート枯渇対策 - Kazzz's diary
    gayou
    gayou 2011/03/15
    TIME_WAITによるポート枯渇
  • レガシーWebアプリのスクレイピング - Kazzz's diary

    社内システムのあるWebアプリケーションの機能をAndroidから利用したいんだが、設計が2000年前後のいわゆる「レガシーWeb」である。 来ならば、RESTなりなんなりでサービスを提供してくれとなるはずなのだが、コストの面でそうも行かない場合も多々ある訳で、やはりスクレイピングは必要悪として必要な訳だ。 Androidの場合、Webkitと配下に用意されたWebブラウザのビューとして使用するWebViewクラスを使うことでjavsscriptを介してJavaのオブジェクト#メソッドを叩くことが可能であり、この機能を使えば大抵のことはできるだろうとは分かっていたが、モバイルアプリケーションで個々にWebViewクラスを抱えるのもどうかと思ったので、WebViewはシステムに一つだけ用意して、それを全てのアプリケーションから利用できればいいんじゃないか、そうだ、Androidにはサービス

    レガシーWebアプリのスクレイピング - Kazzz's diary
  • 1