タグ

networkとlinuxに関するyokochieのブックマーク (7)

  • @IT:全貌を現したLinuxカーネル2.6[第1章](3/3) - AIO

    ファイルI/Oの効率化 ■Multi page block I/O カーネル2.4は、ページキャッシュ層からブロックI/O層へリクエストを渡す際、複数ページから成るバッファをそのまま渡すことができず、いったんブロックサイズに分割したバッファをブロックI/O層で再びつなぎ合わせるという無駄な処理を行っていた。 カーネル2.6では、複数ページから成るバッファに対するI/Oを効率的に行うため、bioと呼ばれる構造体が新設された。これは従来のBuffer headに相当するものだが、ページの配列を持つようになっており、複数のページをまとめてブロックI/O層へ渡すことができる。また、これに合わせた各デバイスドライバの修正も行われた。これに伴い、Direct I/Oのコードもbioを使用するように大幅に書き直された。 カーネル2.6にも従来のBuffer headは残されているが、その処理はbioを使

    @IT:全貌を現したLinuxカーネル2.6[第1章](3/3) - AIO
  • netstatコマンドでポートを利用しているプロセスを調べる

    netstat -tanp プロセスを起動しようとした際に,「address already in use.」といったエラーが発生してプロセスが起動できない場面があります。これは,起動しようとしたプロセスが利用するポート番号を,別のプロセスが既に利用しているために発生するケースが大半です。この様な場合には,netstatコマンドを使うことで,どのプロセスがどのポート番号を利用しているのかを確認できます(図)。

    netstatコマンドでポートを利用しているプロセスを調べる
  • Linuxでアプリケーションが使用中のポート番号を調べる - 日々の報告書

    Linuxシステムを管理している人には常識的なことだと思うけど、アプリケーションが使用中のポート番号を調べる方法についてのメモ。今日某プロジェクトの実験用マシンの設定をしていた最中、あるサービスを起動したら「address already in use.」というエラーメッセージが出てきて調べたので。 アプリケーションが使用中のポート番号は「lsof」や「netstat」コマンドで調べることができる。lsofは「lists open files」の略で、プロセスが開いているファイルを列挙するコマンド。 $ ps aux | grep zsh shin 1644 0.0 0.1 602692 2676 s000 S 1:09AM 0:00.12 -zsh $ lsof -p 1644 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME zsh

    Linuxでアプリケーションが使用中のポート番号を調べる - 日々の報告書
  • netstat(1)コマンドの使い方10 | エンタープライズ | マイコミジャーナル

    Guides, HowTos and Tips for Technology Geeks - The Geek Stuff UNIX / Linux: 10 Netstat Command Examples - The Geek Stuffにおいてnetstat(1)コマンドの10の実行サンプルが紹介されている。netstat(1)はルーティング情報やネットワークの接続状況など、ネットワークに関連した情報を出力するためのコマンド。FreeBSDやLinuxなどUnix系OSでネットワークの状況を調査する場合によく利用するコマンドのひとつ。以降に、UNIX / Linux: 10 Netstat Command Examplesで紹介されている内容をFreeBSD 9とUbuntu 9.10向けに調整したものを掲載しておく。Unix系OSでもOSごとに利用するコマンドやオプションが異なる。

  • 見落としがちなLinuxのWEBチューニング | Act as Professional

    WEBコンテンツ配信にLinuxを使うのは一般的になりましたが、CentOSやUbuntuをはじめ、大抵のディストリビューションが低スペックなマシンでも動くような初期設定になっています。 トラフィックの上限でもない CPUリソースの枯渇でもない HDDのIOが遅い問題でもない コンテンツが重くなる(接続できない)というケースで、見落としがちなLinuxのネットワーク周りのチューニングについてです。 iptables関連iptablesを使用している場合、下記のパラメータを注意して下さい。 /proc/sys/net/ipv4/ip_conntrack_maxip_conntrackに記録できる最大値です。65536あたりが初期設定になっているかと思います。これだとパケットの取りこぼしがすぐに起きてしまいます。1コネクションあたり約350バイト消費するので、実装されているメモリに応じて値を変

    見落としがちなLinuxのWEBチューニング | Act as Professional
  • Kazuho@Cybozu Labs: TCP通信ではデータの送信をまとめて行うべき、もうひとつの理由(& サーバのベンチマーク手法の話)

    TCP通信をするプログラムを書く際に「データの送信はまとめて1回で」行うべき、というのは鉄則と言っていい、と思います。その理由としては、パケット数を最小限に抑えることでオーバーヘッドを少なくするためだと一般に説明されますが、自分はもうひとつポイントがあると考えています。次のグラフを見てください。 グラフは、一定量のデータを転送するのにかかる時間と使用するブロックサイズ(1回のwrite(2)で書き込むサイズ)の関係を表したものです注1。 ホスト間のTCP通信を行っている場合は、TCPのバッファが有効に機能するので、ブロックサイズ(=パケット数の逆数)による速度の変化は、ほぼありません。一方、同一ホスト上で通信を行うと、ブロックサイズと反比例して所要時間が反比例の関係にあることがわかります。 原因は、同一ホスト上の通信では、送信プロセスがwrite(2)を呼ぶたびにコンテクストスイッチが発生

  • ウノウラボ Unoh Labs: WEBサービス運用における監視体制

    こんにちは satoです WEBサービスは作るよりも運用の方がコストがかかるとも言われています。 運用を極力自動化して、コストを減らしたいものです。 ここではウノウで使っているツール類を紹介したいと思います。 1) 疎通、生存監視 webの生存監視などは nagiosを使って監視しています。 nagiosには - いつ(土日を除く、10時~22時までの間で など) - どのタイミングで(N回連続で ,復旧したら など) - 何が起こったった時に(疎通が取れない など) - どうするか(メールで通知する) などを細かく設定できる監視ツールです。 ウノウでは MySQL、memcached、HTTP、ping、DNS、SMTPなどの監視をnagiosで行っています。 2) システムやアプリケーションLOG ログの監視には swatch を使用しています swatchの機能には -

  • 1