![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
myth777 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 30.3.2009 Репутация: -1 Всего: -1 |
Здравствуйте. Вобщем вопрос по организации perl проектов.
У меня есть один большой web проект который внедряется и развивается. В нем я выделил некоторые базовые вещи и сложил их в отдельную директорию LIB. html шаблоны так же как и JS скрипты храняться тоже в отдельных директориях. Структура сайта реализована в виде множества perl файлов, которые ссылаются (require,use) на файлы из библиотеки и используют их. Таким образом пользователь бегает от одного модуля к другому. Хотел посоветоваться правильно ли вообще это? Может стоило сделать один главный файл допустим index.pl и в него сразу включить все файлы библиотеки и включать все файлы проекта? Как лучше организовывать проекты? Поделитесь опытом пожалуйста... |
|||
|
||||
mvsgt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Если есть возможность, надо смотреть в сторону Catalist. Если нет - надо принимать решение исходя из того, как будут запускаться скрипты. Много файлов можно запускать как CGI или mod_perl, но не как FastCGI. Один файл хорошо будет работать под FastCGI и mod_perl и плохо под CGI. mod_perl можно во внимание не принимать.
|
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Какие технологии используются ?
1) CGI / mod_perl / FastCGI ? 2) какой шаблонизатор ? TT / Mason что то другое ? Я обычно делаю стандартную структуру: lib - perl Модули общего использования www - статические данные html, css, js templates - шаблоны bin - скрипты, работающее в бэкграунде - по крону или как демоны cgi-bin - CGI скрипты (если нужны) var - изменяемые данные (те что изменяются при работе сайта) все кроме var - помещается в CVS/SVN/Git или что там используется. |
|||
|
||||
Mindfinder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 8.1.2010 Репутация: нет Всего: нет |
Откуда такие предубеждения против FastCGI? У меня на проекте под FastCGI работает 2 десятка скриптов На счет организации проектов: - шаблоны - код - статика - данные - скрипты под кроном |
|||
|
||||
mvsgt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
По сути FastCGI - это запуск приложения, обрабатывающего один запрос, для параллельной обработки надо запустить несколько копий. Если два десятка скриптов, каждый запускается в восьми копиях - в памяти 160 перловых процесса. Довольно накладно. Если запускать меньше копий, то преимущества от FastCGI теряются. |
|||
|
||||
FractalizeR |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: нет Всего: 4 |
mvsgt,
Какой-то странный у вас вывод. FastCGI отличается от CGI тем, что процесс постоянно не нужно перезапускать.
Не думаю, чтобы они полностью терялись. Преимущество FastCGI перед CGI как раз в том, что не нужно перезапускать процесс перед обработкой следующего запроса. Причем тут количество копий? -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
||||
|
|||||
mvsgt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Представьте, что у Вас процессор с 8-ю ядрами. Значит, параллельно будут выполняться 8 процессов, не больше. Вот на эти 8 параллельных процесса надо запустить 8 копий FastCGI серверов. Если у вас 20 скриптов, то надо запустить в общей сложности 8*20=160 копий FastCGI. Поэтому выгодней объединить скрипты в один - это в 20 раз уменьшит количество памяти и количество соединений с базой данных. |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
||||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
кстате, подскажите имеется
lighttpd FastCGI если я хочу изменить код в скрипте, то нужно ли перегружать веб-сервер? и если будет ошибка в коде, то весь сервак упадет? |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
кто знает есть FastCGI (lighttpd)
если я хочу внести изменения в код catalyst, то нужно ли мне перегруать веб-сервер ? или достаочно прибить всех детей и оно само перегрузит? |
|||
|
||||
mvsgt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
То, есть два варианта - либо каждый скрипт будут каждый раз перегружаться заново - это будет CGI, либо в памяти будет сидеть копия интерпретатора на каждый скрипт. Если будет один интерпретатор на все скрипты, это будет не fastcgi, а mod_perl co всеми вытекающими недостатками и достоинствами. |
|||
|
||||
myth777 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 30.3.2009 Репутация: -1 Всего: -1 |
У меня щас просто CGI и много .pl файликов.
Я про FastCGI хочу спросить. Это нужно определенный доступ к серверу иметь чтоб так перезагружать в память обновленные скрипты? Будет ли нормально работать это все у меня скрипты периодически ссылаются друг на друга через require и use. Надо задуматься, мож попробовать проект перенести под FastCGI, При переходе между скриптами всё таки присутствует некоторое время ожидания при загрузке. |
|||
|
||||
mvsgt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Либо Вы неправильно употребляете термин "скрипты", либо что-то неправильно в Ваших программах. Скриптами обычно называют исполняемые программы на перле, а то, на что ссылаются use и require называют модулями и подключаются они из скриптов, а не запускаются апачем или fastcgi. |
|||
|
||||
myth777 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 30.3.2009 Репутация: -1 Всего: -1 |
бред. Во первых у меня есть скрипты - базовое ПО(библиотека), я ее везде использую и подключаю с помощью use. Иногда бывает так что скрипты использует функции друг-друга и общаются между собой(я обычно require использую). Обычное дело помоему.
|
|||
|
||||
mvsgt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Значит Вы просто не понимаете смысл слов, которые используете. Сейчас это обычное дело. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |