タグ

ブックマーク / www.iij.ad.jp (5)

  • 関数プログラミングが教えてくれる規律

    IIJ技術者はセミナーや講演会等において、IIJの持つ技術力や独自研究開発、最新の技術動向について広く発信し、インターネットの発展に尽力しています。

    関数プログラミングが教えてくれる規律
  • キャッシュエンジンの比較(1/3) | IIJの技術 | インターネットイニシアティブ(IIJ)

    大規模なサイトでは、クライアントからのアクセスを効率よく受け付けるためにオリジナルのコンテンツを保持するオリジンサーバのほかに、何らかのリバースプロキシも運用してコンテンツの配信をしています。まず、ここではリバースプロキシとして利用できるプロダクトの中からコンテンツキャッシュの機能(キャッシュサーバ)について説明します。 キャッシュサーバに期待される役割 コンテンツを配信する上で、キャッシュサーバには以下のような役割が期待されています。 コンテンツをキャッシュデータとして保持すること キャッシュデータを管理すること オリジンサーバへの問い合わせを減らすといった負荷分散をすること 大抵のキャッシュサーバでは、キャッシュしているコンテンツを有効期限(Time To Live : TTL)付きのキャッシュオブジェクトとして保持していますが、TTLを無視してキャッシュオブジェクトの更新をしたい、と

    キャッシュエンジンの比較(1/3) | IIJの技術 | インターネットイニシアティブ(IIJ)
  • Webサーバの性能を測る | IIJの技術 | インターネットイニシアティブ(IIJ)

    UNIX系のOSで利用できるWebサーバの性能測定ツールといえば、Apache Benchやhttperfを思い浮かべる人が多いのではないでしょうか。これらの計測ツールは、残念ながら最近の高速なWebサーバを計測するには非力です。この記事では、高速なWebサーバにも負けないweighttpの使い方を紹介します。 weighttpとは何か weighttpは、Webサーバlighttpdの開発者が実装したWebサーバの性能測定ツールです。以下のような特徴を持ちます。 Webサーバのスループット(リクエスト毎秒)を測定できる ネイティブスレッドを複数起動し測定性能を向上できる libevを利用することで、モダンなポール・システムコールを利用する Apache Benchによく似たコマンドラインオプションを持つ 2.は Apache Benchやhttperfにはない機能です。ここが決定的に異な

    Webサーバの性能を測る | IIJの技術 | インターネットイニシアティブ(IIJ)
  • キャッシュエンジンの比較(3/3) | IIJの技術 | インターネットイニシアティブ(IIJ)

    前回、前々回は、キャッシュサーバに期待される役割と、キャッシュサーバやキャッシュエンジン、特にVarnish Cache、Apache Traffic Serverについて、IIJで行った比較実験の結果を交えて詳しく説明しました。最後に、nginxについて取り上げます。 nginx nginxは、既に紹介している機能のほかに、下記のような特徴を持っています。 非同期のイベント駆動による高速な処理能力 サービスを止めずにバイナリをアップデートできる 豊富な3rdパーティ製モジュール nginxは、既に紹介している他のキャッシュエンジンと同様に、接続を非同期のイベント駆動の仕組みで処理しますが、処理能力はその中でも高く、多くの接続が集中するサイトを運営するにあたり、大きなアドバンテージを持つと言えます。 また、nginxの主なプロセスである、実際に接続を処理するworkerプロセスとそれを管理

    キャッシュエンジンの比較(3/3) | IIJの技術 | インターネットイニシアティブ(IIJ)
  • 高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)

    IIJ-II技術研究所では、2009年の秋からMighttpd(mightyと読む)というWebサーバの開発を始め、オープンソースとして公開しています。この実装を通じて、マルチコアの性能を引き出しつつ、コードの簡潔性を保てるアーキテクチャにたどり着きました。ここでは、各アーキテクチャについて順を追って説明します。 ネイティブ・スレッド 伝統的なサーバは、スレッド・プログラミングという手法を用いています。このアーキテクチャでは、1つのコネクションを1つのプロセスかネイティブ・スレッドが処理します。 このアーキテクチャは、プロセスやネイティブ・スレッドを生成する方法で細分化できます。「プール」方式では、あらかじめ複数を起動しておきます。例としては、Apacheのpreforkというモードが挙げられます。「都度」方式では、コネクションを受け取るたびに生成します。このアーキテクチャの利点は、制御を

    高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)
  • 1