SpeedyCGI

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

PersistentPerlとは、Perlを高速化する手法の一つである。主にPerlで書かれたCGIを高速化するために使われているがCGI以外のシェル等からでも利用できる

目次

概要

Perlで書かれたCGIは、ユーザーから要求がある度に、プロセスの生成と破棄、Perlスクリプトの文法解釈とコンパイルが行われる。大量の要求があればその分だけ繰りかえされ、この事がパフォーマンスの悪化に繋がっている。

PersistentPerlは、Perlスクリプトの実行をリクエストの受付、バックエンドプロセスの生成とデータの受け渡しだけを行うフロントエンドプロセスと、一度コンパイルしたバイトコードをメモリ上に永続化させ常駐するバックエンドプロセスの2つに分けることで、スクリプトの文法解釈とコンパイルにかかる時間をカットし、結果としてプログラム動作速度の向上およびサーバ負荷の低下が可能となる。

利用方法

CGIとして実行するならばスクリプト冒頭の

#!/usr/bin/perl

などと書かれている部分を

#!/usr/bin/perperl

とするだけで既存のコードはほぼそのまま高速化に寄与できる。

Apacheならmod_persistentperlというモジュールがあり、フロントエンドプロセスの生成に伴うコストを無くすことが可能である。 ただしmod_persistentperlはworker MPMには非対応である。

関連項目

外部リンク

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net