Консультация по внедрению FreeBSD+Perl(FastCGI?)
Требуется специалист с опытом для обширной консультации по настройке FreeBSD на VDS, а также по настройке платформы Perl-программ, максимально оптимизированных под скорость ответа (также оптимизация БД).
Поставленные нами задачи настройки и оптимизации (главное - скорость!):
UNIX:
Загрузка только с официальных источников
Минимально возможная конфигурация ОС с целью более быстрой загрузки/перезагрузки
(минимально необходимое и достаточное количество демонов и т.п.)
Настройка от известных методов взлома
Советы по настройке зеркалирования данных для защиты их от сбоев.
PERL:
Советы по созданию максимально быстрых скриптов (без перехода на специфический перл, т.е. без mod_perl и подобных)
Рекомендации по доработке программ без утечек памяти.
Обязательная МНОГОПОТОЧНОСТЬ, т.е. когда отдается из БД одному посетителю, чтоб второму (и двадцатитысячному) в этом момент отдавалось также в соответствии с шириной пропускания канала.
Советы по размещению множества копий потоков в оперативной памяти для более быстрого доступа к ним посетителей сайта (чтобы не тратить время на fork).
Советы по нюансам соединения с БД (интересуют Postgree и MySQL) в свете всего вышеизложенного.
БД:
Оптимизация настроек БД для ускорения работы и работы с многопоточной перл-программой, работающей на условиях, изложенных выше.
Максимально корректная репликация данных.
ТАКЖЕ:
Сразу предусмотреть возможность максимально безболезненного расширения количества серверов (с базами данных и перл-программами).
По возможности экономить память, но не настолько, чтобы в ущерб скорости, иначе говоря при выборе память/скорость нужно выбрать скорость, но при возможности оптимизировать еще и память (касается как Перл, так и БД).
Могут потребоваться советы по выбору недорогого и проверенного VDS.
Могут потребовать советы по настройке домашнего сервера, привязанного к нескольким провайдерам, подключенным в один ПК, работающий круглосуточно.
Также требуются советы для тестирования всей этой скорости/памяти/надежности, т.к. заказчик и в этом достаточной квалификации не имеет.
В задании требуются не столько отдельные советы, как полный комплекс из вышесказанного "под ключ" (понятно, что будет делаться частями). Заказчик готов исполнять подробные руководства для достижения поставленных выше целей самостоятельно (соединившись с сервером) примерно по такой же схеме, как при звонке в техподдержку (оператор называет пошагово действия, пользователь делает и сообщает ответ компьютера). Можно по icq и с произвольным количеством оговоренных перерывов (главное, чтоб работа не простаивала), пока у меня система думает, вы делаете свой другой проект.
По связке Перл кроме FastCGI может посоветуете еще что лучше, можно самописный перл сервер (LWP или что-то еще?), но максимально отвечающие вышеприведенным условиям (скорость! многопоточность!).
Также по связке Перл можно сделать следующее: дать рекомендации по настройке базового скрипта, выводящего "Hello, World, ххххх", где ххххх - например номер пользователя из тестовой таблицы (айди, номер пользователя, получение_хелло), изъятые селектом, после вывода сообщения сразу делается изменение данной таблицы (без блокировки всей) по данной строке, заменяя "получение_хелло" с нуля на единицу, ну и можно инсерт еще куда-нибудь придумать (все это для демонстрации работы системы).
Оплата - безнал, яндекс-деньги. Постфактум. Или можно по частям выполнения задач (по этапам) для большей лояльности. Всё описанное мог бы наспрашивать на специальных форумах, но там 1) не дадут конкретики (думая, что я бородатый *никс-администратор с 20летним опытом), 2) долгое время ожидания ответов. Соответственно это тоже элемент нашей с вами работы - достаточная оперативность и средней подробности инструкции (не совсем чайник, четкие инструкции выполню).