タグ

networkに関するkwryのブックマーク (106)

  • ssコマンドの使い方 - Qiita

    [root@server ~]# ss -help Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTER ] -h, --help this message -V, --version output version information -n, --numeric don't resolve service names -r, --resolve resolve host names -a, --all display all sockets -l, --listening display listening sockets -o, --options show timer information -e, --extended show detailed socket information -m, --memory show socket memo

    ssコマンドの使い方 - Qiita
    kwry
    kwry 2018/02/09
  • NAT越えに関する技術とその仕組み

  • よくわかるLinux帯域制限 | GREE Engineering

    矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が

    よくわかるLinux帯域制限 | GREE Engineering
  • サーバの適切な名前の付け方 | POSTD

    現在、 MNX ではクラウドホスティングサービスの新しいデータセンタを立ち上げているところで、とてもバタバタしています。クラウドホスティングサービスは、今の私たちの主な業務ですが、この会社が始まった当初は、Linux管理のコンサルティングサービスを中心としていました。そのサービスを通じて、たくさんの顧客環境を目の当たりにしましたし、それと同じ数だけの、顧客ごとに異なるデバイス名の指定方法も見てきました。そしてもちろん、その全ての指定方法をいいなと思ったわけではありません。名前の付け方は、コンピュータ草創期からの問題ですよね。おのおのがホスト名の指定方法について一家言持っていました。でも、それらの方法は最初のうちはうまくいっても、時を経てシステムインフラが拡大し、状況に応じて変更を余儀なくされるようになると、すぐに扱いにくくなってしまうものがほとんどでした。 そこで今回は、先述した私たちのデ

    サーバの適切な名前の付け方 | POSTD
    kwry
    kwry 2014/08/06
  • ぜんぶTIME_WAITのせいだ! - Qiita

    課題 突然キャンペーンとかの高トラフィックが来る!とか言われると色々困ることはあるものの、今のご時世クラウドだからスペック上げときゃなんとかなるでしょ。ってとりあえずCPUとかメモリあげて見たものの、キャンペーンが始まったら意外と早くブラウザからつながらない!!とか言われたりする。 CPUもメモリもそんなに負荷は特に高くもない。調べてみたらTIME_WAITが大量にあった。 とりあえず何とかしたい TIME_WAIT数をコマンドで確認 $ netstat -anp|grep TIME_WAIT __(snip)__ tcp 0 0 192.168.1.1:80 192.97.67.192:56305 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.63.64.145:65274 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.39

    ぜんぶTIME_WAITのせいだ! - Qiita
  • いかにしてベンチャーの社内ネットワークを構築するか - UNIX的なアレ

    情シス担当者なんていない 現在、nanapiは社員数30名弱くらいの会社規模です。アルバイトさんを含めると70名くらいになりますが、そのうちエンジニアは私を含めて8名。このくらいの会社の規模だと、まだ情シス的な仕事を専門的にやるような人はいません。 当然、ネットワークの専門家もまだ弊社にはいないので必然的にエンジニアの誰かがこのあたりを担当することになります。ベンチャーにおいてだいたいの場合、こういった技術的な行き場の分からない仕事ってのはCTOがやるもんです。 しかし、情シス的な仕事って当に難儀な仕事。動いてて当たり前、高速で当たり前、ちょっとでもネットワークが遅くなるものならその時点ですでに障害です。 外注するという選択肢もありますが、何かしら社内でネットワークのトラブルがあれば少なくともその瞬間はたぶん僕が対応するなり調査するなりすることになります。どうせそうなるのであれば、自分で

    いかにしてベンチャーの社内ネットワークを構築するか - UNIX的なアレ
    kwry
    kwry 2013/12/28
  • kernelチューニング

    linuxサーバのOS全体に効くカーネルパラメータのチューニング箇所と その設定値、またその理由をまとめておく。 あくまで自分の環境ではこうした、というだけであり、 提供するサービスごとに検討が必要である。 どこをどう変更するのか、または変えないのか、その判断材料にはなるだろう。 ※ユーザ単位でシステムリソースに制限をかける場合をこちらを参照してほしい。 以下は/etc/sysctl.conf で設定するものとする。 ● 大規模サイト用チューニング kernel.pid_max 動作:pidの最大数 設定値:131072 理由:pidを枯渇させない vm.max_map_count 動作:mmapやmalloc時にメモリを仮想空間にマッピングできる最大ページ数 設定値:300000 理由:マッピングできなくなる事態を防ぐ net.core.somaxconn 動作:接続(ソケット)キューの

  • なぜ QUIC や SPDY が生まれたのか ? - Block Rockin’ Codes

    Intro Google が SPDY の開発を始めたのは 2009 年で、 2012 年に HTTP2.0 のドラフトとして採用されたあたりからちょっと話題になりました。 翌 2 月には新たなプロトコル QUIC の存在が Chromium のソースからリークしたのですが、しばらくは音沙汰なく。 6 月に入ってやっと Google から公式アナウンスとドキュメント類が出ました。 去年から今年にかけて立て続けに出てくる新しいプロトコルの話。 なぜ今 Web のプロトコルが見直されるのか? 何が問題で、なぜ Google はそれらを作り変えるのか? SPDY や QUIC は Google の独自プロトコルだけど、それは当にただの独自プロトコルで終わらせていいのか? 20% ルールで作ってみた Play プロジェクトでしかないのか? こうした新しい動きには、かならず「それまで」と「今」を踏

    なぜ QUIC や SPDY が生まれたのか ? - Block Rockin’ Codes
  • High Performance Browser Networking - 愛と勇気と缶ビール

    一部(?)に需要があったようなので、再掲。 実はまだ全部読んでおらず、物理層やトランスポート層の話を脱してアプリケーション層というかHTTPに来た所。 僕が主に興味を惹かれたのはTCP周りの話なので、その辺だけまとめる。読んだの要約?というのは、ヘタしたら著作権侵害というか内容そのものの引写しになってしまいそうで難しい。 話の前提 TCPは不安定で細い回線を前提として元々作られたプロトコルなので、現代の比較的安定した太い回線の上では非効率な部分が多々ある アプリケーションがデータ送り始める前にいわゆる3-way handshakeのための通信をえっちらおっちらやらないといけない。ここにかかる時間は、いかに帯域が広くともレイテンシに引っ張られてしまう。 この部分のロスはいわゆるHTTP keepaliveで回避できる、のだが... そうしてhandshakeした後にまたえっちらおっちらco

    High Performance Browser Networking - 愛と勇気と缶ビール
    kwry
    kwry 2013/07/12
  • ネットワーク通信を行う場合に検討すべきこと

    特にモバイルアプリで頻繁にネットワークが切れる可能性がある場合こういった対策を考えた方がいい。 接続のタイムアウト通信を行う場合には基的にタイムアウトの設定をする。 「どのくらいの秒数でタイムアウトするか」は難しいが、「課金や決済等の2重投稿が問題になる通信」は長く、「ページの表示等の2重投稿が問題にならない通信」は短くするのがいい。 ただし、2重投稿が問題になる通信でも、「タイムアウト後は再送信前にサーバに最初の通信が成功したかどうか確認する」のであればタイムアウトは短くても機能的な問題は少ない。 (または、サーバ側が2重送信前提で処理を行う) 自動再接続特にストリーミング等で「常時コネクションを張り続ける」系の実装を行う場合、一度通信が切断しても自動的に再接続する実装が行われることが多い。 ただ、このときにコネクションの管理が正しく行われず複数のコネクションが同時張られる状態になると

    ネットワーク通信を行う場合に検討すべきこと
  • ssコマンドのちょっといい所見てみたい。のでネットワーク統計情報がどの程度見られるか試してみた。 - 256bitの殺人メニュー

    netstatさんが時代遅れだって!? netstat使ってるのは小学生までだよねー。 キャハハk(ry 、、、というのは冗談ですが、これからはssコマンドらしいって聞いたので、どんな感じで使えるか使ってみた。 ssコマンド netstatの代替コマンドらしく、現在の通信状況の確認に使えるコマンドです。 メリットはsocketのrawでのsocketの扱いができる点かなと。 と、ipv6に強いところのようです。 でもあんまりipv6環境ってないですし、普段使いで代替になるかなーと思って見てみました。 基的な使い方 netstatと似た感じっすよ。これ。 netstat # netstat -naot (snip) tcp 0 0 192.168.100111:50271 192.168.10131:27218 ESTABLISHED keepalive (215.43/0/0) tcp

    ssコマンドのちょっといい所見てみたい。のでネットワーク統計情報がどの程度見られるか試してみた。 - 256bitの殺人メニュー
  • マルチコアとネットワークスタックの高速化技法

    7. Network stack in 4.3BSD Process(User) Process(Kernel) HW Intr Handler SW Intr Handler パケット受信 プロトコル処理 ソケット 受信処理 ユーザ プログラム user buffer input queue socket queue パケット システムコール プロセス起床 ソフトウェア割り込みスケジュール ハードウェア割り込み ユーザ空間へコピー 13年4月23日火曜日

    マルチコアとネットワークスタックの高速化技法
    kwry
    kwry 2013/04/24
  • TCPカーネルパラメータによる障害復旧時間の短縮 - GeekFactory

    クラスタ構成のサーバでは、障害発生後にクライアントがすぐに復旧しない場合があります。サーバ側がフェイルオーバした後にクライアント側が再接続するまでの時間を短くする方法を紹介します。 クライアントからサーバに接続するとソケットはESTABLISHEDになります。もしESTABLISHEDになったソケットで正しくパケットが送信されなかった場合、OSは再送を試みます。再送に失敗してソケットをクローズするまでの時間はOSの設定によります。 OSがTCP接続の異常を検知してからクローズするまでの時間を短くするには3つの方法があります。 パケットの再送回数を少なくする。 TCPレイヤでKeep Aliveパケットを送信する。この方法はTCP Keep Aliveに対応しているアプリのみ可能。 アプリケーションレイヤでKeep Aliveパケットを送信する。この方法はNullパケットを投げる等に対応して

    TCPカーネルパラメータによる障害復旧時間の短縮 - GeekFactory
    kwry
    kwry 2013/03/06
  • Kenichi Kato: macのhostnameがDHCPで上書きされる件

    2012/11/22 macのhostnameがDHCPで上書きされる件 mac(10.7.5 Lion)でterminalをあげて作業していたところプロンプトのhostnameがおかしい事に気がつきました。 shields:kenichikat%                                                                                                              shields:kenichikat% hostname shields shields:kenichikat%  "shield" ってだれ? hostnameコマンドの結果も変わっているので、当にhostnameが変更されているようです。 macのhostnameのdefaultがひどいのは有名な話ですが、無難な

  • NICに複数のIPアドレスを振る - satospo

    Linuxでは1つのNICに複数のIPアドレスを振ることができる。 NICのaliasを定義する方法 そもそも1つのNICに複数IPアドレスを持たせる方法 1つ目の方法はifconfigまたはipコマンドで可能。2つ目の方法はipコマンドで可能。 ipコマンドはRedHat系Linuxなどに搭載されているツール。パッケージ名はiproute2です。このツールは従来のarp,ifconfig,routeコマンドを置き換えるための機能を持っている そうです。 ipコマンド ifconfigコマンドでaliasを作る ifconfigではaliasを使って1つのNICに複数のIPを振る。 eth0:0 eth0:1 のようにインタフェースのaliasが作成され、それぞれがIPアドレスを持つ。 ipコマンドでの割当 ipコマンドではaliasを使わないで、1つのNICに複数のIPアドレスを割り

  • イマドキなNetwork/IO

    The document discusses techniques for improving network and I/O performance between the network interface card (NIC) and CPU. It describes technologies like TCP offloading, receive side scaling, and Intel I/O acceleration features that distribute processing load away from the CPU to improve throughput and reduce latency. Optimization goals include more efficiently handling interrupts and direct me

    イマドキなNetwork/IO
  • Re: CentOS5でもRPS/RFSでNICが捗る話 - まいんだーのはてなブログ

    id:studio-m (nekoyaさん)にblogエントリで先を越されたけど自分はちょっと使い所と事情が異なっていそうだったのでそれを書いておきたく!! 0. RPS/RFS の利用 CentOS5 系でのやり方は nekoyaさんのエントリ を見てください。 CentOS6 系でのやり方は kazeburoさんのエントリ を見てください。 自分はkernel 2.6.39で試しましたが問題なく動作しました。 1. RPS/RFSの利用を迫られた背景 nekoya さんは app サーバの所でネットワーク問題が起こっていたようですが、自分の場合 LVS と outbound のトラフィックをさばいているLinuxルータで厳しいことになってきておりました。 この時発生する具体的な症状として LoadAverage が 1 で張り付いて応答が極端に悪くなる というものがあります。 これをど

    Re: CentOS5でもRPS/RFSでNICが捗る話 - まいんだーのはてなブログ
    kwry
    kwry 2012/11/14
  • CentOS5でもRPS/RFSでNICが捗る話 | Nekoya press

    kazeburoさんがCentOS6.2での事例を紹介されていますが、CentOS5系でもkernelを上げればRPS/RFSが使えるようになって、NICの負荷状況が劇的に改善します。 やり方は意外に簡単で、ELRepoからkernel-ml-2.6.35-14.2.el5.elrepo.x86_64.rpmを落としてきてインストール。 あとは、/boot/grub/menu.lstの設定をdefault=0にしてrebootすればOK。 $ uname -r 2.6.35-14.2.el5.elrepo ELRepoはNICのドライバなんかもいろいろ提供してくれるし、古いバージョンのRPMarchiveで提供してくれて非常にいいですね(kernelの過去RPMはないのかな)。 RPS/RFSを有効にする設定はCentOS6と同様です。 # echo "f" > /sys/class/n

    kwry
    kwry 2012/11/13
  • Engine Yard Blog

    We are proud to be working with our customers while they continue to enjoy our Engine Yard products. Here are some changes we are making

  • NATインスタンスを冗長構成にしてみた - log4moto

    Wizardによる標準構成のVPCにおいてNATインスタンスはSPOFであり、インスタンス障害や、単一AZの障害、AZ間接続障害によっても両AZのインターネット接続性が損なわれる可能性がある。そこで、NATインスタンスをAZ毎に用意し、障害発生時にfailoverする仕組みを考えてみた。 方針 なるべくAWSの1リージョン内で完結し、別リージョンや外部に監視用ホストなどをおかない 瞬間的にフェイルオーバーはおこなわず、毎分ごとにインターネット上のターゲットIPへの疎通を確認し、障害と思われる状態になったらフェイルオーバーを行う 疎通が回復したと思われた場合には、元の状態に戻す 構成 非常にわかりづらい図になっていますが、構成要素としては Subnet x 4 (Public, Private を AZ毎に1つずつ) NATインスタンス x 2 (AZ毎に1つずつ、当然ElasticIPも1

    NATインスタンスを冗長構成にしてみた - log4moto