index Документация Скрипты Шрифты Значки Полезные ссылки Форум
  О создании своего сайта
  Каскадные стили CSS
  Краткое описание html
  Html МЕТА тэги
  Документация по FLASH
  3D Studio MAX
  DreamWeaver FAQ
  Интерфейс CGI
  Руководство PHP
  PHP/FI 2.0
  Руководство Perl 5
  Perl FAQ
  Базы данных
  Описание SQL
  Доступ к БД

Рейтинг@Mail.ru be number one


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.htm .

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

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

6.6 Что такое FastCGI?



Содержание







Платный хостинг php, mysql, хостинг сайта.
Hosted by uCoz