The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"поможет ли mod_perl ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"поможет ли mod_perl ?"  
Сообщение от alexvs (??) on 17-Авг-06, 12:13 
Есть сервер на котором висит один CGI скрипт написанный на perl'e. К нему порядка 3 тыс обращений в минуту и похоже это потолок для него. Хотелось б как-то увеличить эффективность работы скрипта. Не раз встречал советы использовать mod_perl к апачу, но ни разу с ним не работал и поэтому возникает следующий вопрос:

увеличит ли скорость работы скрипта mod_perl и сильно переписывать его придётся?
Он имеет примерно следующую структуру:

1. получение и анализ параметров запроса GET
2. проверка наличия куки и запись в него одной строчки данных
3. получение данных от сишной программы $res=`/usr/local/bin/my_prog` - помоему самый тормозной момент: прога сама летает, но из perl'a уж как-то медленно вызывается
4. сброс результатов работы в лог-файл (за день до 600М выростает)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "поможет ли mod_perl ?"  
Сообщение от perece on 20-Авг-06, 17:42 
>Есть сервер на котором висит один CGI скрипт написанный на perl'e. К
>нему порядка 3 тыс обращений в минуту и похоже это потолок
>для него. Хотелось б как-то увеличить эффективность работы скрипта. Не раз
>встречал советы использовать mod_perl к апачу, но ни разу с ним
>не работал и поэтому возникает следующий вопрос:
>
>увеличит ли скорость работы скрипта mod_perl и сильно переписывать его придётся?
>Он имеет примерно следующую структуру:
>
>1. получение и анализ параметров запроса GET
>2. проверка наличия куки и запись в него одной строчки данных
>3. получение данных от сишной программы $res=`/usr/local/bin/my_prog` - помоему самый тормозной момент:
>прога сама летает, но из perl'a уж как-то медленно вызывается
>4. сброс результатов работы в лог-файл (за день до 600М выростает)
если сишный компонент таки присутствует, почему не научить его же делать 1,2 и 4 и исключить перл вообще, и лишний exec в частности?
(без каких-либо библиотек писать cgi на C немного гиморно, но всеже реально. библиотек много и разных. могу поделиться своей - "без излишеств", тока разбор urlencoding и GET/POST запросов)

дальше можно развить мысль, преобоазовав прогу на C в собсно сервер - CGI executive, и поправив ссылки (пусть скажем основной порт 80, а экзекутив слушает 81). в таком варианте предела производительности достичь очень трудно. даже если не получится написать single-threaded (на poll/select), то даже fork - не очень "дорогая" операция по сравнению с exec'ом (учитывая copy-on-write технологию ныне применяемую).

\^P^/

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру