самописный "веб" - сервер

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение Alex Keda » 2009-08-31 8:47:51

Нгинкс ? Сысоев, ты чтоли? =)
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение ProFTP » 2009-09-02 0:39:45

говорят, самописный веб-сервер дает больше производительность...

приемущество в том что сайт - это и есть веб сервер, даже написано что веб сервер на пхп в который встроенный сайт дает производительность
http://kiev.pm.org/node/283

и еще есть возможность написания кэшера, который кэширует код который выполнятеся, не контент который обрабатывается, а именно код, это есть только в mod_perl

и еще я видел что для какого-то редкого железа писали на С++ со всеми прибампасами...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: самописный "веб" - сервер

Непрочитанное сообщение xDi » 2009-09-02 0:49:14

ProFTP писал(а):говорят, самописный веб-сервер дает больше производительность...

приемущество в том что сайт - это и есть веб сервер, даже написано что веб сервер на пхп в который встроенный сайт дает производительность
http://kiev.pm.org/node/283

и еще есть возможность написания кэшера, который кэширует код который выполнятеся, не контент который обрабатывается, а именно код, это есть только в mod_perl

и еще я видел что для какого-то редкого железа писали на С++...
Думаю все зависит от задач и способа их реализации. А то можно и простые вещи так через зад сделать, что лучше вообще не браться.
imho, полноценный web-сервер на php - бред, потому что бинарник напиленый в Сях будет заведомо менее требователен к ресурсам (если руки не из задницы растут), чем тот же функционал, реализованый на любом интерпретируемом языке.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение ProFTP » 2009-09-02 1:14:32

я нагруженные не писал, но вот например нагруженные проекты LiveJournal (и другие) используют http://www.danga.com/perlbal/ вместо nginx, Perlbal использует AIO для файловых операций (в Linux это кажетмся нету, в а FreeBSD есть), в nginx этого нету, может скоро появиться асинхронная работа с диском...
и даже написали распределенную файловую систему для этого http://www.opennet.ru/prog/info/2620.shtml (Cи + perl)
http://www.realcoding.net/article/view/6778
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: самописный "веб" - сервер

Непрочитанное сообщение Fastman » 2009-09-02 14:28:55

Балин..велосипедостроители....
Ну не нужен вам самописанный веб сервер... НЕ НУЖЕН :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение ProFTP » 2009-09-02 14:41:19

воь видел веб сервер, полезное для нужд

Код: Выделить всё

:;while [ $? -eq 0 ];do nc -vlp 8080 -c'(r=read;e=echo;$r a b c;z=$r;while [ ${#z} -gt 2 ];do $r z;done;
f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;h="HTTP/1.0";o="$h 200 OK\r\n";c="Content";if [ -z $f ];then($e $o;ls|(while $r n; do if [ -f "$n" ];
then $e "<a href=\"/$n\">`ls -gh $n`</a><br>";fi;done););elif [ -f $f ];
then $e -e "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`\n";cat $f;
else $e -e "$h 404 Not Found\n\n404\n";fi)';done
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение ProFTP » 2009-09-25 1:08:52

paradox писал(а): многопоточность на бсд это вчерашнее время
читаем о man kevent
я вот интересовался kevent, оно действительно лучше многопоточности?
тут вот не написано в чем оно лучше http://www.opennet.ru/base/dev/kevent_freebsd.txt.html
т.е. kevent как-то с ядром работает?

на perl, это можно замутить?
вот нашел модуль Сишный http://search.cpan.org/~msergeant/IO-KQ ... /KQueue.pm
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: самописный "веб" - сервер

Непрочитанное сообщение paradox » 2009-09-25 1:14:48

ну нужно очень хорошо понимать что такое "много поточность" и что такое "отложеные вызовы"
и как это все устроено и работает

для простых смертных которые пишут высоко нагруженые сервера через

Код: Выделить всё

fork();

for (;;)
{
 сдесь бесконечный цикл работы
}
kevent точно не подойдет
ибо у тех кто так пишет, ошибка при рождении в днк

а еще нужно понимать что скорость создание нового потока для каждого сокета дорогая операция для ОС
так что плодить pthread per socket это еще одна ошибка в днк кто так пишет

потому что так пишут токо линуксоиды

вообщем дисскусия долгая разводить которую мне не очень хочеться (в свое время наговорился)

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение ProFTP » 2009-09-25 1:23:38

а этот модуль полноценный http://search.cpan.org/~msergeant/IO-KQ ... /KQueue.pm ?
там документации что-то мало

а обработать:
1) вывод программы какой-то, статистика
2) распрсить файл большой
2,а) какие-то данные получать
3) отправить много данных куда-то через сокеты и получить ответ

kevent для этого всего подойдет?

(такое часто закасчики заказывают, всегда на многопоточности)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: самописный "веб" - сервер

Непрочитанное сообщение paradox » 2009-09-25 1:31:57

kevent полезен
для создания приложений где нужно отслеживать события по дескриптору
пример в соседнем топике
где человеку нужно было написать программу которая бы реагировала на изменения в файле

поэтому в твоих случаях сложно сказать
ибо нужно вдумываться нужно ли там это и как ты собираешься это реализовывать

зы
в перле я слабо разбираюсь
но что то мне подсказывает

Код: Выделить всё

# $Id: KQueue.pm,v 1.6 2006/07/24 21:21:31 matt Exp $
какойто не доделаный

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: самописный "веб" - сервер

Непрочитанное сообщение ProFTP » 2009-09-25 1:53:09

ладно, посмотрю

там вот еще обсуждали Event Loops который лучше многопоточности, на высоконагруженных программах

http://dbpubs.stanford.edu:8091/~testbe ... al_10.html
http://habrahabr.ru/blogs/perl/17000/
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение