タグ

socketに関するpamucatのブックマーク (4)

  • TCP接続を集約表示するlstfでNetlinkにより実行速度が1.6倍になった - ゆううきメモ

    Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ にて紹介したlstfのホスト上のTCPコネクション情報の取得処理において、/proc/net/tcpを読みだす代わりに、Netlinkソケットを利用することで、実行速度が1.6倍になった。lstfのバージョン0.4.0で使えるようになる。 実験 約40,000接続あるWebサーバ上にて、lstfコマンドの実行時間を名前解決時間を含まずに比較する。 実験環境はEC2のc4.2xlarge、Debian 8.10、Linuxカーネル3.16であり、リバースプロキシとしてnginxが動作している。 接続数は次のコマンドよりだいたい40,000接続であることを確認する。 [y_uuki@hoge ~]$ ss -tan | wc -l 39264 /proc/net/tcpを読む実装では、次のよう

    TCP接続を集約表示するlstfでNetlinkにより実行速度が1.6倍になった - ゆううきメモ
  • Golang で書いた Web アプリケーションを UNIX ドメインソケットで公開 - at kaneshin

    net/http パッケージで使用される ListenAndServe 関数は tcp による Listen のため、 UNIX ドメインソケットで Listen するには自前で準備する必要があります。 func (srv *Server) ListenAndServe() error { addr := srv.Addr if addr == "" { addr = ":http" } ln, err := net.Listen("tcp", addr) if err != nil { return err } return srv.Serve(tcpKeepAliveListener{ln.(*net.TCPListener)}) } src/net/http/server.go - The Go Programming Language UNIX ドメインソケット ソケットファイルの

    Golang で書いた Web アプリケーションを UNIX ドメインソケットで公開 - at kaneshin
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • Pythonでソケット通信 - mihoのお勉強ブログ(仮)

    Python | 17:55今回はこちらのソースをお借りして、Pythonでソケット通信を用いたチャットっぽいプログラムを作ってみました。元のソースではクライアント側からしか発言できなかったので、サーバー側からもお互いに発言できるように書き換えました。その他細かい所もちょこちょこと修正。それでもチャットの相手のIPアドレスをいちいちソースに書かないといけなかったり一対一でしか会話できなかったり、一度発言したら相手からの発言を受信するまで何もできなかったりと、全然実用的ではないのですが。そのうちリアルタイムに会話できるチャットを作ってみたい。 とりあえずサーバー側のソースです。 #server.py import socket host = '127.0.0.1' port = 3794 serversock = socket.socket(socket.AF_INET, socket.SO

  • 1