タグ

ブックマーク / memo.yuuk.io (4)

  • Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ

    概要 netstatやssコマンドにより、あるホストと他のホストとのコネクションを一覧表示できる。しかし、Webシステムの場合、クライアントが並行接続するため、 同一ホストから複数のポートを介してコネクションを確立しているケースが多い。コネクション数が大きい場合は、1万以上のコネクションが表示され、ホスト間のコネクション状況を人間の目で概観することが難しかった。 そこで、同一ホストとのコネクションを集約表示し、コネクション状況を概観する 「lstf」 (「えるえすてぃーえふ」)コマンドをつくった。 github.com lstfの特徴は以下の通り。 コマンド実行ホストを起点に、active openコネクションかpassive openコネクションを判定する。つまり、接続をする側かされる側かを判定する。 各ホストフローごとにコネクション数を表示する Goで実装されているポータビリティ。i3

    Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ
  • ウェブシステム内の待ち行列をMackerelで可視化してみる - ゆううきメモ

    この記事は、Mackerel Advent Calendar 2017の19日目の記事です。 前日は fullsat_ さんによる Lambdaを使ってMackerelのアラートをRedmineのチケットにする でした。 ウェブシステムの障害発生時に、どのコンポーネントの処理が滞っているかをざっくり知りたいことがあります。 そこで、ウェブシステムは待ち行列の集合体であることに着目し、各コンポーネント状態を把握するダッシュボードを最近作成しています。 待ち行列については、自分もそれほど詳しいわけではありませんが、待ち行列システムをみるとざっと把握できます。 簡単な例として、安定した系であれば、リトルの法則により、平均待ち行列数Lは、平均到着率λと平均待ち時間Wの積に等しいことがわかっています。 リトルの法則とキャパシティプランニング - ゆううきメモ これらのパラメータをウェブシステムでよく

    ウェブシステム内の待ち行列をMackerelで可視化してみる - ゆううきメモ
  • LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ

    Linuxサーバの障害対応で社内で伝統的に使われているテクニック。I/Oで完全にブロックしているポイントを特定するノウハウ。 問題対応のため、怪しいプロセスをstraceしてみる read(2)やwrite(2)でブロックしていることを発見する read(2)やwrite(2)、connect(2)の引数にはファイルディスクリプタ番号がみえる プロセスIDとファイルディスクリプタ番号を使って、/proc//fd/ の中身をみると、ソケットI/Oで刺さっている場合はソケット番号を発見できる netstat からソケット番号でgrepして接続先を発見する [y_uuki@hogehoge ~]$ sudo strace -p 10471 Process 10471 attached - interrupt to quit read(58, <unfinished ...> Process 10

    LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ
  • Go言語をほぼ毎日書いている話 (序) - ゆううきメモ

    はてなの京都オフィスで開催された そうだ Go、京都。 - connpass にて、「Go言語をほぼ毎日書いている話(序)」というふわっとした話をしました。いわゆる Write Code Every Dayという活動ですね。 タイトルに(序)と付けているのは、書き始めてまだ5ヶ月程度だからです。 ちなみにこのGWでは、Rustを毎日書いていて、すでにタイトル詐欺感がありますね。 スライド スライドを以下に貼っておきます。 speakerdeck.com 同僚の id:niwatako さんの超速記により、ツイートはるだけで内容紹介できて贅沢。 去年からめっちゃGithubに草を生やしている話 #golangkyoto pic.twitter.com/xInr7G9BHT— にわタコ (@niwatako) 2017年4月29日 オペレーションよりソフトウェアや文章を書く方が実は好き ソフト

    Go言語をほぼ毎日書いている話 (序) - ゆううきメモ
  • 1