Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Apache

LiteSpeedとApacheの違いや特徴~Webサーバ比較~

投稿日:2021年2月24日 更新日:

<目次>

(1) LiteSpeedとApacheの違いや特徴~Webサーバ比較~
 (1-1) LiteSpeedの概要
 (1-2) 比較表(LiteSpeedとApache)
 (1-3) 比較表の補足
 (1-4) メリデメ整理

(1) LiteSpeedとApacheの違いや特徴~Webサーバ比較~

(1-1) LiteSpeedの概要

恐らくApacheは知っているけどLiteSpeedは余り馴染みがない、という方が現時点では多い気がするので、LiteSpeedの概要について簡単にご紹介します(⇒参考:Apacheの概要

LiteSpeedは、2002年に「Litespeed industries Inc.」によって開発されたWebサーバです。「Webサーバ」というのは「HTTPサーバ」とも呼ばれ、URLやHTTPプロトコルを解釈し、ユーザーのデバイスにWebサイトのコンテンツを届ける役割を果たすサーバです。

LiteSpeedはApacheの設定ファイルを読み込む事が出来て、Apacheと入れ替えが出来るように設計されています。実際、LiteSpeedは「mod_rewrite(URL操作)」や「.htaccess」などのApache機能と互換性があります。
 

(1-2) 比較表(LiteSpeedとApache)

いくつかの観点で両者を比較した表が以下です。

■比較項目 ■Apache ■LiteSpeed
用途 HTTPサーバー Webサーバ
(※注1)
区分 OSS 非OSS
サポート体制
(バグ対応など)
Apacheソフトウェア財団が支援するコミュニティに所属する世界中のエンジニアにより対応。 LiteSpeed Technologiesにて対応。
対応OS ◎:Unix系OS
◎:Windows
◎:Unix系OS
×:Windows
リクエスト処理方式 マルチスレッド方式

※選択肢が多く、リクエスト処理やウェブトラフィック(送受信データ)の処理のための、マルチプロセス処理が可能。

イベント駆動方式

※最小限のHWリソースで、クライアントからのリクエストを処理する方針。

HTTPプロトコル ○:「HTTP/2」対応 ◎:「HTTP/3」対応
アーキテクチャ マルチスレッド
(ただし拡張性が低い)
非同期イベント駆動
同時接続 △:処理不可

※重いトラフィック(=NWを伝うデータ量)の同時処理は不可

◎:処理可

※限られたハードウェアリソースでも、クライアントリクエストの同時処理が可能

スレッド vs 接続の対応 △:1対1
スレッドと接続は「1対1」で対応
◎:1対N
スレッドと接続は「1対N」で対応
(1スレッドで複数接続を処理可能)
静的ページの処理性能 △:
Nginxと比較して劣る
◎:
静的コンテンツに対する数千の同時接続を処理可能。

(※注1)
Apacheは「HTTPサーバ」と表現されており、LiteSpeedは「Webサーバ」と表現していますが、意味合い的には≒です(殆どのWebサーバは基本的にHTTPサーバですが、HTTPサーバの中にはWebサイトを提供しないものもあるため、一応公式ページに従った表現のまま書いています)。

目次にもどる

(1-3) 比較表の補足

商用である(有料)

無料のバージョンもあるものの、大事な機能は有料版に含まれており、実質的には有料となっています。ただし、レンタルサーバー等に搭載されいてる分には、LiteSpeedの料金はレンタルサーバ自体の代金に含まれている事が多いため、サーバを利用する我々からすると余り意識する金額ではないかも知れません。

HTTP/3に対応

HTTP/3に対応している数少ないWebサーバである点も大きな強みの1つです。

(a) HTTP2では・・
HTTP/2では「ストリーム」と呼ばれる抽象概念が導入され、HTTPの実装により、同じポートに対して同時に複数のHTTP通信を行う事が出来るようになりました(TCP接続の再利用が可能になった)。

しかしながら、HTTP通信をストリームに分割していても、TCPはそれらの違いを区別できないため、パケット損失が発生すると、全リクエスト&レスポンスに影響が及びます。

(b) HTTP3では・・
対してHTTP3では、トランスポート層(第4層)で「TCP」を採用する代わりに、「QUIC」と呼ばれるGoogleが設計したトランスポート層用のプロトコルを採用しています。

QUICでは、トランスポート層の中で「ストリーム」を優遇しており、複数ストリームが同じQUIC接続を共有でき、それにより各ストリームで追加のハンドシェイク(通信確立・事前パラメータ設定)も不要となり、高速化を実現しています。

そして各ストリームは独立して提供されるので、パケットの欠損が発生しても、他ストリームには影響が及ばないという利点があります。

高速である

LightSpeedはApacheや更にはNginxよりも高速とされており、それらを裏付けるベンチマーク結果も出ています。
(ベンチマーク結果)
 
またLSCacheと呼ばれるWordpress用のプラグインを導入する事で、より高速化する事が可能です。

アーキテクチャ

競合であるApacheは「プロセスベース」のアーキテクチャになっており、1つの接続毎に1つのプロセス(またはスレッド)を起動します。PHPが必要な場合、各接続毎にPHPのセッションを起動する必要があり、これは多くのメモリを消費します。
 

(1-4) メリデメ整理

メリット&デメリット

⭕️:最高速 (HTTP/3対応、LSCacheプラグイン)
⭕️:処理効率が高い (イベント駆動型)
⭕️:安全 (DDOS攻撃対策等しっかりしている)
⭕️:Unix系OSには幅広く対応
⭕️:Apacheの機能も一部利用可能 (mod_rewrite, .htaccess他)
❌:WindowsOSに対応していない

❌:商用である (有料:月額 $14~$92)

対応OSについて、LiteSpeedはWindowsには対応していない様です。主な対応OSはUnix系(CloudLinux・CentOS, RedHat, Fedora, Debian, Ubuntu・FreeBSD)です。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Apache

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Let’s Encryptの証明書をApacheに適用する手順(CentOS7を例にご紹介)

<目次> (1) Let’s Encryptの証明書をApacheに適用する手順(CentOS7を例にご紹介)  (1-0) 前提事項  (1-1) STEP1: Let’s …

TomcatのURLに付くポート番号8080を非表示にしてドメイン名のみでサイトにアクセスする方法と手順

本記事で実現したい事は下記2点、①URLのポート番号・アプリ名を非表示(リバプロ)と②JSP/Servlet名非表示(web.xml)です。これらを実現する事でブラウザにドメイン名のみ(例:XXXX. …

一つの物理サーバに複数のIPアドレスやドメインを設定する方法~Apacheの仮想ホストの種類や設定方法

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) Apacheの仮想ホストとは? (3) IPベース仮想ホスト  (3-1) 方式の概要  (3-2) 設定方法 …

Apache HTTP Serverとは?概要や主要な機能についてご紹介

<目次> (1) Apache HTTP Serverとは?概要や主要な機能についてご紹介  (1-1) Apacheとは?  (1-2) Apacheの主な機能  (1-3) Apacheの使用例 …

Apacheのリバースプロキシでセッションを維持する方法

<目次> (1) Apacheのリバースプロキシでセッションを維持する方法  (1-1) 発生状況・エラーメッセージ  (1-2) 調査  (1-3) 原因  (1-4) 対処法 (1) Apache …

  • English (United States)
  • 日本語
Top