タグ

2015年7月7日のブックマーク (4件)

  • kernel: TCP: time wait bucket table overflow の解消とTIME_WAITを減らすチューニング - 気ままにインフラエンジニア

    整理がてら。 httpdが動いているあるホスト上で、 /var/log/messages に以下のようなメッセージが出ていた。 kernel: TCP: time wait bucket table overflow kernel: printk: 50078 messages suppressed. "netstat -tna |grep TIME_WAIT"すると、10万以上の数でTIME_WAITが出ている。これを解消するまでの流れ。 そもそもこの値は、カーネルパラメータの net.ipv4.tcp_max_tw_buckets で設定されている。デフォルトは16384。 (↑の通り、エラーが出た環境では既にかなり大きな値が設定されていたのだが。) /proc/sys/net/ipv4/tcp_max_tw_buckets システムが同時に保持する time-wait ソケットの最大

    kernel: TCP: time wait bucket table overflow の解消とTIME_WAITを減らすチューニング - 気ままにインフラエンジニア
  • TCP/IP Time_Wait の時間について | old_3流プログラマのメモ書き

    netstat -an で現在のセッション情報が見えるわけですが、とある Windows サーバでかなり TIME_WAIT が発生してました。 netstat のステータスで LISTENING が待ちうけ中、ESTABLISHED が通信中(コネクション確立)ってのは知ってたんですが、TIME_WAIT ってのはよくわかってなかったので調べてみました。 ということで、まずTCPでのコネクションの確立と切断処理を@IT:連載 基礎から学ぶWindowsネットワーク 第16回 信頼性のある通信を実現するTCPプロトコル(3)で確認します。 ↑には分かりやすい状態遷移図があるので非常に参考になります。 これを見ると TIME_WAIT というのはコネクションのアクティブクローズ時(自身から切断要求時)に、コネクションしてたのと同じポートが再利用されないための待ち時間のようです。 この待ち時間

    TCP/IP Time_Wait の時間について | old_3流プログラマのメモ書き
  • DDDと”生きたドキュメント"

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    DDDと”生きたドキュメント"
  • Linuxにおけるメモリ管理

    DBサーバ上でおもむろにfree、sar、topコマンド等でメモリの使用率を見てみたところ、 メモリの空きがほとんど無くなっていることに気がついて(正確にはそう見えて)、焦りながら色々調べた結果をまとめる。 Linuxのページキャッシュの仕組み まず、メモリの使用率を正しく見るためには、Linuxのページキャッシュという機能について知らないといけなかった。 ページキャッシュとは Linuxは一度ディスクから読みだしたデータは可能な限りメモリにキャッシュして、次回以降の読み込みが高速に行われるように調整する。このメモリに読みだしたデータのキャッシュを「ページキャッシュ」と呼ぶ。 ※ CPUはディスクのデータを直接読むことができないので、一度ディスクのデータをメモリにロードしてから読み込んでる ちなみに、Linuxはメモリ領域を4KBの塊に区切って管理しており、この4KBの塊を「ページ」という

    Linuxにおけるメモリ管理