タグ

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

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

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

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

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

    キャッシュエンジンの比較(1/3) | IIJの技術 | インターネットイニシアティブ(IIJ)
  • 1