Q: How well does the Nginx HTTP push module perform with 10 000 concurrent clients? (Ye olde C10k problem). A: Very well. About 7 kB per client and practically zero CPU load. This article describes how I performed the test, using three different hosts – my local computer, a Debian Linux server and a Mac OS X host simulating 10 000 clients. Disclaimer: This test is not intended as a realistic multi
KLab Advent Calendar 2011 「DSAS for Social を支える技術」の9日目です。 前回は php を動かしている Apache の手前にリバースプロキシを 置く必要性を解説しました。 今日は、 その前の php のプロセス数を絞る設定と合わせて、実際に Apache で 設定する方法を紹介します。 以降、 php を動かしている Apache の事をアプリサーバー、リバースプロキシ+ 静的ファイル配信を行っている Apache の事をプロキシサーバーと呼びます。 基本設定 まずは基本的な設定のおさらいです。 アプリサーバー 並列数を絞るには MaxClients を設定します。アプリがどれくらいの時間を CPUの処理で使って、どのくらいの時間を外部リソース待ちに使っているかにも よりますが、だいたいCPU数の1.5倍〜2倍くらいが適当だと思います。 Hyp
We use cookies to provide our services and for analytics and marketing. To find out more about our use of cookies, please see our Privacy Policy. By continuing to browse our website, you agree to our use of cookies. OK Pushpin makes it easy to create HTTP long-polling, HTTP streaming, and WebSocket services using any web stack as the backend. It’s compatible with any framework, whether Django, Rai
Redisをstorageやcacheとして使う事が多くなってきたのですが、普段使っている分にはさほど問題なかったものがautoscaleなどの頻繁なインスタンスの増減がある環境でtimeoutを上手く設定していないと問題が出る場面に遭遇したのでメモしておきます。 Redisのtimeout値(コネクションは貼られているが、コマンドが送られて来ない時間)はdefaultで300秒になっています。 この値を何らかの理由で0(無効)やとても長い時間に設定している場合、正常にコネクションがcloseされないと、Redis側からはESTABLISH状態に見えたままになていることがあります。 この状態の時はnetstatで確認してもESTABLISHEDになっています。 今回この場面に遭遇したときは、インスタンスの増減が頻繁に行われている時で、Redisの接続が失敗する事が増えてきたため気づきました
1.はじめに 3回にわたり、システム間連携を行う際の高付加価値な機能としてMOM(Message Oriented Middleware)のRabbitMQ,ESB(Enterprise Service Bus)のJBossESB,Muleを紹介してきました。今回は視点を変え、すべての通信の基礎となるソケット通信(以下、Berkeley socketsと呼びます)のAPIに焦点をあて、それに対するフレームワークであるZeroMQ(http://www.zeromq.org/)を紹介します。 2.Berkeley socketsの問題点 Berkeley socketsを用いたシステム間連携(TCP/IP通信)の処理の流れは次のようになります。 このソケット通信はMOMを用いたシステム間連携と対比しますと付加価値機能が無い分だけ高速に動作し、ハブ&スポークのハブにあたる部分が無いためシステ
Best practices design patterns: optimizing Amazon S3 performance Your applications can easily achieve thousands of transactions per second in request performance when uploading and retrieving storage from Amazon S3. Amazon S3 automatically scales to high request rates. For example, your application can achieve at least 3,500 PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second per partitione
最近のlinuxカーネルではデフォルトで、 iptablesリスタートするとiptablesモジュールがいったんunloadされる。 このとき、TCP接続元ホストやそのホストでwindow scale optionが有効になっている場合、 (1) windowサイズを正しく認識できなくなる (2) 張られているTCPセッションがESTABLISHED ⇒ INVALIDとなる (3) TCPセッションが切られる アプリによっては再接続等で問題がわからないかもしれない。 しかし、TCPセッションが切れることで問題が発生するアプリも存在するだろう。 そのため、iptablesモジュールをunloadしない設定にしておくかどうかを検討する必要がある。 ● 確認 ① window scale option の確認 # cat /proc/sys/net/ipv4/tcp_window_scalin
はい、これは僕がいつも良く見るApacheとNginxの性能差に見えます。大体、ApacheはNginxの75%程度の性能に落ち着きます。数十バイトの静的コンテンツに対するリクエスト処理はNginxの得意分野だと思っていたので、大体こんなものです。 そこで、真面目にevent_mpmのチューニングを行ってみました。で、幾度となくベンチを試した結果導き出した、静的コンテンツに対する同時接続数100程度に対して最高のパフォーマンスを示すevent_mpmの設定は以下のようになりました。 [program lang=’apache’ escaped=’true’] StartServers 4 MinSpareThreads 4 MaxSpareThreads 4 ThreadsPerChild 2 MaxRequestWorkers 2 MaxConnectionsPerChild 0 [/p
HHKB Professional Type-Sが欲しいインフラ兼ソフトウェアエンジニアのbokkoです。 普段はHHKB Proの日本語配列キーボードを愛用しています。英語配列は苦手です。このことを同僚のエンジニアに言うとジト目で見つめられ・・・睨みつけられること請け合いです。 本連載の最後となる今回はpixivのデータストア/キャッシュ戦略を支える周辺ミドルウェアについて解説していきます。 memcachedからKyotoTycoonへ移行した際に発生した問題 前回の記事の最後にもあったようにpixivではAPの数だけあったmemcachedへのリクエストを少数のKyotoTycoonにまとめたことで一部のKyotoTycoonサーバへのTCPコネクション数が爆発してKyotoTycoonサーバのCPUやメモリリソースには余裕があるのにネットワークで詰まるという問題が起こりました。 元
OpenSSHには1本のコネクションで複数のSSHセッションを束ねて使える機能があります。例えば、~/.ssh/configに Host example.com ControlMaster auto ControlPath ~/.ssh/mux-%r@%h:%pと設定しておくと、最初に接続したsshセッションのコネクション(マスターコネクション)を使いまわし、複数のSSHセッションをマスターコネクションに束ねることができます*1。 主なメリットは以下のとおり。 TCPセッションは1つなのでTCPの同時接続数が制限されているサーバでも複数sshが可能*2 コネクションを使いまわした場合、接続にかかる時間が短い(ssh経由で複数回に分けてコマンド投入とかで時間短縮) コネクションを使いまわした場合、パスワード入力やパスフレーズ入力が不要*3 ですが、ControlMasterとControlP
Amazon ELBをうまくつかうには、KeepAliveを有効にしよう。Timeoutは60秒よりだいぶ長くしよう。その背景。 鯖管のメモ帳: AWSのELBでHealthyHostCountが0になるという記事の中で ■AWSのELBとApacheを使う際の注意点 ・Timeoutは120以上が推奨 ・ApacheのKeepAliveは有効にすべし。ELBとの接続効率があがる。 という形ですでにやるべきことは書いてあるのが、なぜそうなるか。。(いそがしい人は後は読まなくてok!) 根本的な理由としては、ELBはTCPを単にリレーしているのではなくて、アプリケーションレイヤのプロキシであることによるものが大きい。ELBはバックエンドのEC2との間で無通信の場合でも60秒はセッションを維持する。 ELBはTCP Persistent Connectionを提供し、webサーバとの間のTCP
All of Percona’s open-source software products, in one place, to download as much or as little as you need.
Commons DBCPを超えるTomcat JDBC Poolとは:Tomcat 7の新機能で何ができるようになるのか?(番外編)(1/2 ページ) TomcatのDBコネクション・プールは2つある @IT読者の皆さんは「Tomcat JDBC Connection Pool」をご存じですか? 通常、TomcatのDBコネクション・プールといえばApache Commonsプロジェクトの「Commons DBCP」を想像するかと思います。しかし、Tomcatには「Commons DBCP」以外にもDBコネクション・プールの実装が存在します。それが、「Tomcat JDBC Connection Pool」(以下、Tomcat JDBC Pool)です。 Tomcat JDBC Poolとは、Apache Tomcatプロジェクトが独自に作成したDBコネクション・プールの実装のことです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く