Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

CGI & Perl - FAQ по perl и программированию для web: Ускоряемся Next Previous Contents

6. Ускоряемся

6.1 Моя CGI программа работает слишком медленно/создает большую нагрузку на сервер/etc. Что делать?

  • Вкомплировать интерпретатор в сервер (mod_dtcl, mod_perl, pyapache для apache, серверы с поддержкой servlets, AOL server с его поддержкой tcl).
  • Переделать на FastCGI или аналогичную технологию.
  • Переписать ее на компилируемый язык, если написано на скриптовом. Тем самым вы избавитесь от оверхедов интерпретатора.
  • Взять более мощный сервер (IBM RS/6k F50, к примеру :-)

6.2 Что такое mod_perl?

Это perl, вкомпилированный в apache, что придает многие преимущества:

  • Скрипты и модули компилируются один раз, что значитльно увеличивает скорость ответа на запрос HTTP (до 2000%);
  • Можно написать свои обработчики различных стадий запроса;
  • Кеширование сединений с сервером БД -- еще прибавка к скорости;
  • Директива SSI #perl позволяет в server-parsed html вызывать функции perl;
  • секции <perl></perl> в конфиге apache, для его конфигурирования;

Правда, ничего не дается даром и самый важный недостаток mod_perl -- огромный расход памяти: если обычный apache занимает при работе обычно меньше мегабайта, то apache с mod_perl размером в 10-15 Mb -- вполне нормальное явление. Но, при правильной настройке, значительная часть этой памяти будет shared между копиями процессов.

Основной сайт про mod_perl - http://perl.apache.org, в частности великолепный mod_perl Guide на http://perl.apache.org/guide/.

6.3 В чем разница между скриптом для CGI и mod_perl?

Программа CGI исполняется один раз, за тем умирает. Под mod_perl же она загружается и исполняется до смерти сервера (в случае использования Apache::Registry, см. далее), поэтому она требует более аккуратного описания - закрывать файлы, не использовать много памяти, и тд.

Более подробно о переписывании программ CGI под mod_perl - http://perl.apache.org/guide/porting.html.

6.4 В чем разница между исполнением под Apache::Registry и Apache::PerlRun?

6.5 Как использовать постоянное соединение с БД под mod_perl?

6.6 Что такое FastCGI?


Next Previous Contents

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте