PersistentPerlとは? わかりやすく解説

PersistentPerl

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/09/30 07:16 UTC 版)

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

目次

概要

Perlスクリプトは、ユーザーからリクエストがある度に

  • Perlプロセスの生成
  • Perlスクリプトの文法解釈
  • スクリプトのコンパイル
  • コンパイルされたバイトコードの実行
  • プロセスの破棄

が行われる。大量のリクエストがあればその分だけ繰りかえされ、この事がパフォーマンスの悪化に繋がっている。

PersistentPerlはPerlスクリプトの実行を

  • リクエストの受付
  • (リクエストを受けられるバックエンドプロセスがいなければ)バックエンドプロセスの生成
  • UNIXドメインソケットを使ったバックエンドプロセスとのデータ受け渡し

を行うフロントエンドプロセスと(つまりフロントエンドプロセスはPerlに関わらない)

  • 初回のみPerlスクリプトをコンパイルし、バイトコードを保持したままプロセスとして残る
  • フロントエンドからのリクエストに従ってコンパイル済みバイトコードを実行

を行うバックエンドプロセスの2つに分けることで2回目以降のスクリプトの文法解釈とコンパイルにかかる時間をカットし結果としてプログラム起動速度の向上およびサーバ負荷の低下が可能となる。

利用方法

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

#!/usr/bin/perl

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

#!/usr/bin/perperl

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

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

関連項目

外部リンク





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

PersistentPerlのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PersistentPerlのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのPersistentPerl (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS