Реклама на сайте Advertise with us

К админам - почему nginx?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 00:36       Ответить с цитатойцитата 

allendale: Да, мне не понравился nginx - хотя я верю, что люди, которые им пользуются, совсем не дураки и наверное же знают, что делают. Мне не понравилось отсутствие большого количества привычных вещей.

Попробуй напряги свои мозги (при условии наличия таковых) на тему - как я буду распространять бинарный модуль для nginx'а? Процедура сия получается настолько крива, что все будут говорить, что "модуль сисхальта ставится через жопу". Да, через жопу. Плохо для меня, для клиента - потому, что автор просто забил на вопрос динамически подгружаемых модулей, "и так сойдет". Неважно, по какой причине принято это решение - отдуваться буду я. У меня сложилось мнение о продукте, которое называется "nginx c точки зрения разработки под него коммерческих модулей - неудобно и хуже lighttpd", и если тебе оно не понравилось - можешь поцеловать мой дотошный зад.

И при чем тут Сысоев? Мы же не его личность обсуждаем. Если кто высказывается резко о кривостях Линукса - это персональное оскорбление Торвальдсу? Я охотно верю, что Сысоев - превосходный программер. Но этого часто недостаточно. Линукс написан превосходными программерами, но разработка коммерческих десктопных приложений под него жопой была и остается. Их по пальцам можно пересчитать, и то все - для разработчиков.

Кстати, неудивительно, что статистики по дырам в nginx ты не видишь - поскольку неоткуда. У него багтрэка нет. Вообще. Про win32 ты вообще лучше помолчи, поскольку точно не в теме того, что ветки src/os/win32 в дистрибутиве точно нет, как и хедеров, которые просто лежат у Сысоева на винте на домашнем компе. Поскольку и центрального репозитория у nginx также нет. На сорсфордже или ему подобном держать проект религия не позволила, наверное... Если бы его высочество допустил нас до настоящего дерева исходников, а не говорил, что "не хочет поддерживать build issues" (будто кто просит), то, глядишь, и диффы бы получил для Visual Studio. А так и диффить не с чем...

Да, и странно, как при всем написанном тобой про lighttpd вышеуказанные сайты простояли больше недели. Админы youtube явно зря свой хлеб едят - сейчас allendale придет и погонит их ссаными вениками.

Хотя у них еще есть надежда - если его вовремя поместят на стационарное. Пей мяту, не болей.

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 12:33       Ответить с цитатойцитата 

Dr.Syshalt писал:
Если речь идет именно о бенчмарках - вот это, к примеру, выглядит как раз в тему.

Пока не прочитаем сорцы спавнера и не настроим, сидим и не пиздим.

Dr.Syshalt писал:
А программеры за lighttpd потому, что он как-то более по-человечески написан. Про nginx же такое впечатление, что его пишут впопыхах и промеж дела - я имею в виду его внутренности.

это я списываю на то что не разобрался в сорцах.

Dr.Syshalt писал:
Я сейчас взялся за написание модулей под все это семейство - апач.. ну, этот старый знакомый, под него уже лет 5 пишу модули, но пора теперь и lighttpd и nginx осваивать... так вот идея пересобирать nginx для установки модулей третьей стороны меня просто убила icon_sad.gif Динамических модулей просто нету.

Пиши на встроенном перле icon_smile.gif Либо напиши подгрузку динамических модулей и присылай патч.
Dr.Syshalt писал:
Рецепт сборки под win32 - а я привык и под винду собирать, и там гонять под Visual Studio и Bounds Checker'ом, так баги хорошо вылавливаются - вообще под большим секретом держится. Я понимаю, что ресурсы ограничены, и все такое.. а нам, программерам, расхлебывать потом.

Ни под каким он секретом не держится icon_smile.gif не сумел разобраться как собрать - твои проблемы.

Dr.Syshalt писал:
есть кэширование кода для php (xcache)... загадка icon_confused.gif

От тут я поржал конкретно да. У тебя какая то каша в голове походу. Xcache, EA и всё прочее это проблемы не HTTP сервера а непосредственно php. А вообще я не понимаю в чем проблема сесть и разобраться вместо того чтобы глупые вопросы на форуме задавать?

.

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 13:54       Ответить с цитатойцитата 

Gourad писал:
Пока не прочитаем сорцы спавнера и не настроим, сидим и не пиздим.


Дорогой, пиздишь тут ты. Цифру дай, если что сказать хочешь. Ибо за базар отвечать надо icon_smile.gif
А еще лучше - пример живого сервера, который работал под lighttpd, но не справился, посему был переведен на nginx.

Нету? Все остальное - твоя ментальная мастурбация, не более.

А то тут примеры.. сиджи на атоме с гигом RAM и каналом на 10Mbps, типа nginx справляется, надо же!... ребят.. это не пример. Еще года 3 назад у меня был фрихост с кучей и сиджей и всякого говна, что туда кидали люди, который забивал канал в 10Mbps и не кашлял. Несколько лет, на третьем пне и 512MB RAM. На апаче, представьте себе - на 1.3, с его-то моделью процессов...

Gourad писал:

Пиши на встроенном перле icon_smile.gif


Представление имеешь о разнице в производительности модуля на C и встроенного перла? Можно тогда вообще никаких модулей не писать.

Gourad писал:

не сумел разобраться как собрать - твои проблемы.


Ну так собери и расскажи, пиздобол. Не под cygwin'ом только, это не win32 ;)

Gourad писал:
А вообще я не понимаю в чем проблема сесть и разобраться вместо того чтобы глупые вопросы на форуме задавать?


Потому что тут есть люди, которые используют nginx. И мне стало любопытно, почему именно его. Потому в треп и заслал изначально, что это "глупый вопрос" - ничем не глупее "BMW vs Focus" (да, модератор - умница, е-мое, ударься об стенку... icon_confused.gif). Если тебе нечего сказать - лучше не тупи.

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17156
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 14/06/09 в 15:32       Ответить с цитатойцитата 

Dr.Syshalt писал:

А программеры за lighttpd потому, что он как-то более по-человечески написан. Про nginx же такое впечатление, что его пишут впопыхах и промеж дела - я имею в виду его внутренности.

Ну если бы nginx имел динамические модули, он бы уже не был nginx'ом.

nginx это:
1. Отдача статики
2. Прокси
3. Баллансировщик нагрузки

Хули ты от него еще хочешь?

Именно так он позиционируется, именно так он был задуман. В первую очередь производительность и экономия памяти. Остальное от лукавого.

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 15:32       Ответить с цитатойцитата 

Dr.Syshalt писал:
А еще лучше - пример живого сервера, который работал под lighttpd, но не справился, посему был переведен на nginx.

Вообще то я не про производительность хотел сказать а про потерянные FCGI-запросы, там проблема кривого спавнера фцги на лайте, по крайней мере год назад была, с тех пор не сморел может поправили. А производительность как я ранее и написал примерно одинакова в пределах погрешности. Ну запусти сам ab да увидишь.

Dr.Syshalt писал:
Ну так собери и расскажи, пиздобол. Не под cygwin'ом только, это не win32 ;)

Ой... это про свосем вин32... извращенец вы батенька кто ж в здравом уме будет прод на вин32 ставить?

Dr.Syshalt писал:
Потому в треп и заслал изначально, что это "глупый вопрос" - ничем не глупее "BMW vs Focus" (да, модератор - умница, е-мое, ударься об стенку... icon_confused.gif).

Ыть прошу прощения не заметил icon_smile.gif почему я юзаю nginx - удобная раскидка локейшнов которой помоему в лайте нету, модули написанный под него, fcgi переменные, щас вот добавился fcgi-кэш. Почему слинял с лайта - из-за кривого fcgi спавнера на динамическое количество деток. несколько ебанутой структуры конфига, ну и из за того что нгинх меньше на 100 кб весил icon_smile.gif

.

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 15:39       Ответить с цитатойцитата 

Pentarh писал:

nginx это:
1. Отдача статики
2. Прокси
3. Баллансировщик нагрузки

Угу, а также средство защиты от китайских ботов smail101.gif

.

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 15:51       Ответить с цитатойцитата 

Pentarh писал:
Универсальный конфиг nginx под линукс, ставим на свои ВДСки:

http://www.pentarh.com/conf/linux/nginx.conf


В рассылке рекомендуют избегать конструкций с IF ...

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 15:54       Ответить с цитатойцитата 

Pentarh писал:
Ну типа того. Херово конечно что нгинкс не умеет нормально ПХП выполнять, кроме как через FCGI. Но тогда он бы не был нгинксом icon_smile.gif Ну вообще он и с апачем не плохо уживается.

Правильнее сказать есть такие программеры котрые пишут такие php скрипты которые работают только с одной версией апача с одной версией php (а его нужно обновлять ОБЯЗАТЕЛЬНО) и с одной версией MySQL ...

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 15:56       Ответить с цитатойцитата 

color писал:
LiteSpeed еще есть (правда платный), мы на шаред-хостинге используем, в принципе отлично все. с апачем практически полностью совместим (htaccess-ы с реврайтами, mod_security и много других вкусностей, которых нет у nginх того же).
nginx ставим на дедики в основном в связке с php-fpm. хотя вроде читал что и cgi-скрипты бинарные можно с nginx запускать, но не тестил пока.

Там пускалка на перле написанная ... циги работают, но пускать на них серьёзный траф ... недумаю. Вообще компиленные цыги ... это атавизмы. Хотите чтобы исходник был закрыт пишите FCGI сервер или http://habrahabr.ru/blogs/perl/53540/

0
 

XXX-Server.biz

С нами с 15.02.03
Сообщения: 9410
Рейтинг: 6676


Передовик Master-X (16.01.2008)
Ссылка на сообщениеДобавлено: 14/06/09 в 15:58       Ответить с цитатойцитата 

вроде бинарники одни там.. с чего решили что перл?

Хостинг от $0.05/Gb, VDS от 9$, Dedicated Servers от $49
Домены от 4.99$

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 15:58       Ответить с цитатойцитата 

Pentarh: *sigh* в том-то и дело, что я предполагал под него модули писать. Вообще они там есть, сам API на апачевский вполне похож. Но похоже, что кроме автора это никому не удобно делать будет. Представь себе, что люди получают nginx через репозитории (типа yum или apt) - и вообще облом с установкой модуля получится. То есть все возможно, но поддержка - просто жопа получается.

Gourad: никто не будет ставить на продакшн! я же писал об этом. win32 вообще никто не будет использовать как продакшн на сервере, кроме извращанцев, пишущих для .Net (таких тут нету, я спокоен за отсутствие нападок еще и с их стороны). А вот использовать порт на нее для разработок очень удобно. Под линух я еще не нашел, к примеру, дебаггера, который так бы хорошо помогал отлавливать обращения к "левым" пойтнерам. Который бы нормально понимал брэйкпойнт в dll, а не заставлял каждый раз искать сорс, ставить в нем брэйкпойнт.. ну, там можно много рассказать. Хотя я под линух уже лет 10 пишу. Просто неудобно много, под виндой раза в два быстрее работается, когда модули пишешь. И просто кросс-платформенная/кросс-компайлерная разработка сама по себе отлавливает ошибки хорошо, код чище получается.. Да, все мои придури, ну вот такой вот...

Я еще, кстати, как-нибудь потестю апач против этой парочки - только не так, как его все тестят, кто видел. А настроив - поставив ему mpm event а не прошловековой mpm prefork, который все используют, вместо mod_php - fastcgi, отключу все лишнее, чтобы довести его до уровня функциональности nginx (типа поддержки .htaccess, MultiViews и всего прочего, что делает соревнование просто нечестным) - и там-то посмотрим, кто кого smail54.gif

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 16:09       Ответить с цитатойцитата 

Dr.Syshalt писал:
да вот прямо это в гугле набери и там их немало icon_smile.gif

Если речь идет именно о бенчмарках - вот это, к примеру, выглядит как раз в тему. А вот это - про статику.

А программеры за lighttpd потому, что он как-то более по-человечески написан. Про nginx же такое впечатление, что его пишут впопыхах и промеж дела - я имею в виду его внутренности. Я сейчас взялся за написание модулей под все это семейство - апач.. ну, этот старый знакомый, под него уже лет 5 пишу модули, но пора теперь и lighttpd и nginx осваивать... так вот идея пересобирать nginx для установки модулей третьей стороны меня просто убила icon_sad.gif Динамических модулей просто нету. Рецепт сборки под win32 - а я привык и под винду собирать, и там гонять под Visual Studio и Bounds Checker'ом, так баги хорошо вылавливаются - вообще под большим секретом держится. Я понимаю, что ресурсы ограничены, и все такое.. а нам, программерам, расхлебывать потом.

Вот отсюда вопрос и возник, почему его пользуют больше, чем lighttpd, который уж точно не хуже по производительности, при этом куда более с головой сделан, есть классная (пробовал) поддержка массовых виртуальных хостов, есть кэширование кода для php (xcache)... загадка icon_confused.gif

Для проксирования и балансинга лучше всех http://haproxy.1wt.eu/
icon_wink.gif
Насчет nginx под win спрашивайте в рассылке.

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 16:13       Ответить с цитатойцитата 

allendale писал:
OMFG, тебя снова процитировать?


Кто тут выёбывался-то? Обосрал Сысоева, только потому, что у него под "вин32 не собралось", при этом даже не попытавшись посмотреть профильные форумы, начал рассказывать о том, что "это хорошо, а это плохо". Ахуенно. просто ахуенно.

PS. Тряпками... тряпками...


Если Сысоев напишет nginx под win лучше чем is то микрософт отзовет у него лицензию на хр icon_lol.gif

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 16:17       Ответить с цитатойцитата 

Gourad писал:
...От тут я поржал конкретно да. У тебя какая то каша в голове походу. Xcache, EA и всё прочее это проблемы не HTTP сервера а непосредственно php. А вообще я не понимаю в чем проблема сесть и разобраться вместо того чтобы глупые вопросы на форуме задавать?

Вероятно перепутано с мемкешедом. В рассылке есть пара патчей для сложной работы с мемкешедом.

0
 



С нами с 29.04.09
Сообщения: 295
Рейтинг: 72

Ссылка на сообщениеДобавлено: 14/06/09 в 16:27       Ответить с цитатойцитата 

Dr.Syshalt писал:

Представление имеешь о разнице в производительности модуля на C и встроенного перла? Можно тогда вообще никаких модулей не писать.

Модуть написанный на встроенном перле будет переведен в байткод вместе с компиляцией nginx а не при запуске nginx. Кстати данная возможность до сих пор находится на стадии отладки.
Вот пример:
nginx.conf
Код:
http {
    perl_require  nx_limitrate.pm;
    perl_set  $l_rate_dw   nx_limitrate::handler_dw;
    perl_set  $l_rate_php  nx_limitrate::handler_php;
    perl_set  $l_rate_poe  nx_limitrate::handler_poe;

    server {
        server_name backend_dw;
        location / {
            set $limit_rate  $l_rate_dw;
            proxy_pass         http://127.0.0.1;
        }
    }

    server {
        server_name backend_php;
        location / {
            set $limit_rate  $l_rate_php;
            proxy_pass         http://127.0.0.1:8080;
        }
    }

    server {
        server_name backend_poe;
        location / {
            set $limit_rate  $l_rate_poe;
            proxy_pass         http://127.0.0.1:8000;
        }
    }
}

nx_limitrate.pl
Код:
#!/usr/bin/perl
use strict;
use Cache::FastMmap;
use FindBin;

use constant DEBUG => 0;

use POSIX;
use IO::Handle qw(&autoflush);
#create daemon
my $pid = fork();
if ($pid) {
    open(FILE,'>',"$FindBin::Bin/run/nx_limitrate.pid");
    print FILE $pid;
    close(FILE);
    exit;
}
die "Couldn't fork: $!" unless defined($pid);

open(*STDIN, "<", "/dev/null");
open(*STDOUT, ">>", "$FindBin::Bin/log/nx_limitrate.log");
open(*STDERR, ">>", "$FindBin::Bin/log/nx_limitrate.log");
*STDOUT->autoflush(1);
*STDERR->autoflush(1);
POSIX::setsid() or die "Can't start a new session: $!";

print localtime()." - Daemon started\n";


my $cfg_maxq = 30; # НБЛУ. ДМЙОБ ПЮЕТЕДЙ
my $cfg_minq = 5;  # НЙО. ДМЙОБ ПЮЕТЕДЙ
my @cfg_rates = qw(256 384 512 640 768 896 1024 1280 1536 1792 2k 3k 4k 6k 8k 12k 16k 20k 24k);
my $cfg_def_rate = 12; #4k
my $cfg_norate = "512k";
my $cfg_interval = 5; # seconds

# оБ ЛБЛЙИ РПТФБИ ЦЙЧХФ ВЬЛЕОДЩ
my %conf = (
    dw  => '80',
    php => '8080',
    poe => '8000'
);

my $cache = Cache::FastMmap->new(
    share_file => '/var/cache/nx_limitrate',
    raw_values => 1,
    expire_time => '10m',
    page_size => '8k',
    num_pages => 7,
    context => 1,
    read_cb => sub {return $cfg_norate},
    cache_not_found => 0,
    unlink_on_exit => 0
);

my $rate = {};
foreach (keys %conf) {
    $rate->{$_} = undef;
}
my $last_que = queue();

my $time_to_die = 0;
sub signal_handler {
    $time_to_die = 1;
}
$SIG{INT} = $SIG{TERM} = $SIG{HUP} = \&signal_handler;

until ($time_to_die) {
    my $que = queue();
    foreach my $k (keys %conf) {
        if ( ($que->{$k} > $cfg_maxq)&&($last_que->{$k} > $cfg_maxq) ) {
            if (!defined $rate->{$k}) {
                $rate->{$k} = $cfg_def_rate;
            } elsif ($rate->{$k} > 0) {
                $rate->{$k}--;
            }
        } elsif ( ($que->{$k} < $cfg_minq)&&($last_que->{$k} < $cfg_minq)&&(defined $rate->{$k}) ) {
            if ($rate->{$k} < $#cfg_rates) {
                $rate->{$k}++;
            } elsif ($rate->{$k} == $#cfg_rates) {
                $rate->{$k} = undef;
            }
        }
        my $rr = (defined $rate->{$k}) ? $cfg_rates[$rate->{$k}] : $cfg_norate;
        $cache->set($k, $rr) if $cache->get($k) ne $rr;
        DEBUG and warn "[".localtime()."] ".uc($k)." rate: $rr; queue: $que->{$k}, $last_que->{$k}\n";
    }
    $last_que = $que;
    sleep($cfg_interval);
}
print localtime()." - Daemon exited\n";
`rm -f $FindBin::Bin/run/nx_limitrate.pid`;


# РБТУЙФ netstat -Lan
sub queue {
    my $s = `/usr/bin/netstat -Lan`;
    my %res;
    foreach my $k (keys %conf) {
        my $port = $conf{$k};
        if ($s =~ m#^tcp4\s+(\d+)/\d+/\d+\s+127\.0\.0\.1\.$port\s*$#m) {
            $res{$k} = $1;
        } else {
            $res{$k} = -1;
        }
    }
    return \%res;
}

nx_limitrate.pm
Код:
package nx_limitrate;
use strict;
use Cache::FastMmap;
use nginx;

my $cfg_debug = '/var/httpd/nx_limitrate.debug';
my $cfg_interval = 60;
my $cfg_norate = "1024k";

my $cache = Cache::FastMmap->new(
    share_file => '/var/cache/nx_limitrate',
    raw_values => 1,
    expire_time => '10m',
    page_size => '8k',
    num_pages => 7,
    context => 1,
    read_cb => sub {return $cfg_norate},
    cache_not_found => 0,
    unlink_on_exit => 0
);

sub handler_dw {
    my $r = shift;
    return _handler($r, 'dw');
}
sub handler_php {
    my $r = shift;
    return _handler($r, 'php');
}
sub handler_poe {
    my $r = shift;
    return _handler($r, 'poe');
}

my $last_time = time();
sub _handler {
    my ($r, $type) = @_;
    my $ua = $r->header_in("User-Agent");

    my $rate = $cache->get($type);
   
    if ($cfg_debug) {
        my $t = time();
        if ( ($t - $last_time) > $cfg_interval ) {
            $last_time = $t;
            my $fh;
            open($fh,">>",$cfg_debug);
            print $fh localtime($t)."\t$type\t$rate\t$ua\n";
            close($fh);
        }
    }
   
    my $ok = ($ua =~ /(?:aport|stackrambler|yandex|webalta|ia\_archiver|accoona|nutch|teoma|yahoo|Mail\.Ru\/|\(Twiceler|[a-z]{1,20}bot|slurp|[ck]rawler|spider|indexer|libwww\-perl|lwp(?:\-trivial|\:\:Simple)|urllib|wget|curl|php|snoopy|^java|Teleport|Microsoft\sURL\sControl|Mediapartners\-Google|WWW\-Mechanize)/i)?1:0;
    return ($ok ? $rate : $cfg_norate);
}


1;

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 17:31       Ответить с цитатойцитата 

Dr.Syshalt писал:
Но похоже, что кроме автора это никому не удобно делать будет.

Я писал и пишу icon_smile.gif мне удобно.
Dr.Syshalt писал:
Представь себе, что люди получают nginx через репозитории (типа yum или apt) - и вообще облом с установкой модуля получится. То есть все возможно, но поддержка - просто жопа получается.

Ну ёпта, пришли сысоеву патчи для динамической подгрузки модулей если ему понравится он в основную ветку добавит, если не понравится то nginx под лицензий BSD, сядь да сделай свой форк с блэкджеком и шлюхами.

Dr.Syshalt писал:
никто не будет ставить на продакшн! я же писал об этом. win32 вообще никто не будет использовать как продакшн на сервере, кроме извращанцев, пишущих для .Net (таких тут нету, я спокоен за отсутствие нападок еще и с их стороны).

А в чем цимес тестить и разрабатывать в условиях максимально отдаленных от боевых?

Dr.Syshalt писал:
А вот использовать порт на нее для разработок очень удобно. Под линух я еще не нашел, к примеру, дебаггера, который так бы хорошо помогал отлавливать обращения к "левым" пойтнерам.

man gdb, man valgrind

Dr.Syshalt писал:
Просто неудобно много, под виндой раза в два быстрее работается, когда модули пишешь.

Мне одинаково работается, что под виндой что под линухами, мне как то похуй с чего vim на девеле запускать.

Dr.Syshalt писал:
И просто кросс-платформенная/кросс-компайлерная разработка сама по себе отлавливает ошибки хорошо, код чище получается..

#ifdef WIN32 охуенно чистая конструкция да ;)

Dr.Syshalt писал:
Я еще, кстати, как-нибудь потестю апач против этой парочки

Ну если совсем делать нечего будет, то получишь примерно тот же результат +-1% на погрешности, если конечно там ничего жестоко не изговнякали.

.

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 18:55       Ответить с цитатойцитата 

nagual3 писал:
\
nx_limitrate.pl
Код:
#!/usr/bin/perl
my $pid = fork();
if ($pid) {
    open(FILE,'>',"$FindBin::Bin/run/nx_limitrate.pid");
    print FILE $pid;
    close(FILE);
    exit;
}

отличный код icon_smile.gif тока сысоеву не показывай, а то помрёт со смеху кто нам будет кэш по правильному делать?

.

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 19:06       Ответить с цитатойцитата 

Gourad писал:

Ну ёпта, пришли сысоеву патчи для динамической подгрузки модулей если ему понравится он в основную ветку добавит, если не понравится то nginx под лицензий BSD, сядь да сделай свой форк с блэкджеком и шлюхами.


Понимаешь, мои амбции в плане nginx не заходят так далеко, как создание и поддержка его форка. Нахуй мне это надо, вот объясни?

Gourad писал:

А в чем цимес тестить и разрабатывать в условиях максимально отдаленных от боевых?


Если ты никогда не разрабатывал ничего подобным образом, то понимаю - мне трудно будет объяснить в чем цимес того, что большинство даже потенциальных багов вылезают еще до того, как продукт пошел в продакшен. После того, как сделал и оттестил под win32 - уже в момент, когда он у тебя просто заработал под posix, багов там практически наверняка не останется. Ибо повылезают все при портировании. Стапудова повылезают.

Gourad писал:

man gdb, man valgrind


Чувак, когда в gdb появится возможность выставлять персистентные брэйкпойнты в dll (то есть я перезапускаю процесс, и он ее восстанавливает на том же месте, где она была в предыдущей сессии), когда gdb автоматом начнет их еще отслеживать при добавлении/удалении строк кода, чтобы BP оставались на своих местах при этом - вот тогда можешь снова начать мне кидать ссылки на маны. gdb и тот его десяток фронендов, которые я перепробовал, пока искал (а искал упорно), просто "не тянут". Есть просто такие вещи, как вопросы удобства, и свои мнения по поводу того, что мне должно быть удобно потому, что удобно тебе, можешь в одно место себе затолкать, прости мой французский. Просто любишь пофлэймить?

Gourad писал:

#ifdef WIN32 охуенно чистая конструкция да ;)


Ну не знаю, у меня в модулях от силы 1-2 ifdef WIN32, в начале, если надо выбрать, что за хедера инклудить. Но это на апаче, там APR aprавильный есть icon_smile.gif А код да, чище получается, когда думаешь сразу о том, как он будет работать на разных платформах. Это.. ну как бы сказать.. вопрос "дисциплины кода".

Gourad писал:

Ну если совсем делать нечего будет, то получишь примерно тот же результат +-1% на погрешности, если конечно там ничего жестоко не изговнякали.


Я, кстати, тоже так думаю, что результат будет приблизительно одинаковый. Просто чтобы народ перестал гундеть, что апач, типа, тормоз - как-нить сделаю, благо дома два компа icon_smile.gif На одном ab запущу, на другом - тесты.
А то даже обидно за него. Все тестят с prefork (самым тормозным), а потом говорят "во как круто nginx апач делает!". Просто у меня такое подозрение, пока неподтвержденное, что если настроить апач нормально, то ни nginx, ни lighttpd не нужны будут.

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 19:09       Ответить с цитатойцитата 

nagual3 писал:
Модуть написанный на встроенном перле будет переведен в байткод вместе с компиляцией nginx а не при запуске nginx.


Вот именно - в bytecode. Все равно тормозззззз.

0
 



С нами с 02.05.04
Сообщения: 200
Рейтинг: 23

Ссылка на сообщениеДобавлено: 14/06/09 в 19:23       Ответить с цитатойцитата 

Syshalt, грамотный ты смотрю ты какой.

А что за задачи такие уникальные что заставляет их реализовывать исключительно в виде модулей?

Чем fcgi не устраивает? Напиши на Си что тебе надо и будет оно держать практически любую нагрузку. По моим тестам в выходило мин. 3к запросов в сек. на достаточно слабой машине типа Атлон 1800. Вряд ли у тебя есть задачи которые это не покрывает.

Продукт Сысоева вообще одно из немногих чья архитектура и весь подход к процессу вызывает уважение. Зачем делать репозитарий и пускать кого попало делать коммиты? Я бы так же поступил бы.

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 19:31       Ответить с цитатойцитата 

Dr.Syshalt писал:
Понимаешь, мои амбции в плане nginx не заходят так далеко, как создание и поддержка его форка. Нахуй мне это надо, вот объясни?

Ну как это нахуй? тебе .soшки нужны ты и хуярь icon_smile.gif

Dr.Syshalt писал:
Если ты никогда не разрабатывал ничего подобным образом, то понимаю - мне трудно будет объяснить в чем цимес того, что большинство даже потенциальных багов вылезают еще до того, как продукт пошел в продакшен.

Ты не тру ц'шник icon_smile.gif тру тестят на системах с другим порядком байт в ворде icon_smile.gif тада то да... говно сходу вылезает в отличии от ващих x86 icon_smile.gif

Dr.Syshalt писал:
Есть просто такие вещи, как вопросы удобства, и свои мнения по поводу того, что мне должно быть удобно потому, что удобно тебе, можешь в одно место себе затолкать, прости мой французский. Просто любишь пофлэймить?

Ну так бы и сказал что те подавай красивую гую.

Dr.Syshalt писал:
Я, кстати, тоже так думаю, что результат будет приблизительно одинаковый. Просто чтобы народ перестал гундеть, что апач, типа, тормоз - как-нить сделаю, благо дома два компа icon_smile.gif

Правильный поступок. А толпа идиотов тебя будет увеерять что ты не тру, а тру используют нгинх icon_smile.gif Холивары любим-с? icon_smile.gif

Dr.Syshalt писал:
Вот именно - в bytecode. Все равно тормозззззз.

так а теперь проведи на пхп высчитывание числа пи до 9000го знака отлично подойдёт для аргументации что пхп говно icon_smile.gif
Кстати по тесту можно сделать вывод что компилер окамла писался человеком лучше знающим асм чем автор теста icon_smile.gif

.

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 19:35       Ответить с цитатойцитата 

uncle Sam писал:
Syshalt, грамотный ты смотрю ты какой.

А что за задачи такие уникальные что заставляет их реализовывать исключительно в виде модулей?

Чем fcgi не устраивает? Напиши на Си что тебе надо и будет оно держать практически любую нагрузку. По моим тестам в выходило мин. 3к запросов в сек. на достаточно слабой машине типа Атлон 1800. Вряд ли у тебя есть задачи которые это не покрывает.


Это не покрывает, например, вопросы контроля доступа. Представь себе, что ты хочешь сделать на своем тьюбе защиту flv от хотлинка. Причем такую защиту, что даже копирование линков не поможет захотлинкить - ты скопировал его себе на сервер, передал клиенту - а тот нифига не видит.

Причем прозрачную - ставишь модуль, пара директив в конфигах, и все. Все китайцы идут делать "соси-соси" :]

С fastcgi ты такого не сделаешь, увы. На апаче уже работает. На lighttpd заработает скоро. На nginx... не знаю. Думаю вот, что делать.

uncle Sam писал:

Продукт Сысоева вообще одно из немногих чья архитектура и весь подход к процессу вызывает уважение. Зачем делать репозитарий и пускать кого попало делать коммиты? Я бы так же поступил бы.


Кого ни попадя коммиты пускать делать и не надо! Я абсолютно с тобой согласен! Ну так у него и анонимным чекаутом сорсы не получить той же win32-части. Он просто снисходит до нас смертных и выдает нам из-под небес готовый релиз в виде tarов и монолитного zip'а. А некоторым хочется (не из тупого любопытства) глянуть на то, над чем работа идет, в сыром виде. Понимаешь? Ничего плохого в этом нет, так любой оупенсорсный проект делается.

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 14/06/09 в 19:37       Ответить с цитатойцитата 

Gourad писал:

Ну так бы и сказал что те подавай красивую гую.
...
так а теперь проведи на пхп высчитывание числа пи до 9000го знака отлично подойдёт для аргументации что пхп говно icon_smile.gif


Гурад, вопрос был про пефоманс perl.

Насчет красивой гуи - ты просто дурак, или придуриваешься умело

0
 



С нами с 02.05.04
Сообщения: 200
Рейтинг: 23

Ссылка на сообщениеДобавлено: 14/06/09 в 19:47       Ответить с цитатойцитата 

Dr.Syshalt писал:
Это не покрывает, например, вопросы контроля доступа. Представь себе, что ты хочешь сделать на своем тьюбе защиту flv от хотлинка. Причем такую защиту, что даже копирование линков не поможет захотлинкить - ты скопировал его себе на сервер, передал клиенту - а тот нифига не видит.

Причем прозрачную - ставишь модуль, пара директив в конфигах, и все. Все китайцы идут делать "соси-соси" :]

С fastcgi ты такого не сделаешь, увы. На апаче уже работает. На lighttpd заработает скоро. На nginx... не знаю. Думаю вот, что делать.



Это ты с клиентов дерешь деньги за то что либо есть готовое либо пишется парой строк на встроенном перле?
Я делал через модуль accesskey. http://wiki.nginx.org/NginxHttpAccessKeyModule
Смысл там в том, что для каждого юзера уникальные ссылки.

Причем, страницы отдаваемые fcgi у меня еще и кешируются самим nginx. Т.е. эти acceess key генерит не fcgi, а сам nginx через пару строк на перле и модуль sub заменяет их в html.

Цитата:




Кого ни попадя коммиты пускать делать и не надо! Я абсолютно с тобой согласен! Ну так у него и анонимным чекаутом сорсы не получить той же win32-части. Он просто снисходит до нас смертных и выдает нам из-под небес готовый релиз в виде tarов и монолитного zip'а. А некоторым хочется (не из тупого любопытства) глянуть на то, над чем работа идет, в сыром виде. Понимаешь? Ничего плохого в этом нет, так любой оупенсорсный проект делается.


Это правда странно. Мне бы тоже хотелось зайти в trac какой-нибудь и посмотреть что изменилось.
Но при большом желании каждый раз можно diff -ur делать.

0
 

саблезубый кролик

С нами с 02.07.05
Сообщения: 2966
Рейтинг: 993

Ссылка на сообщениеДобавлено: 14/06/09 в 19:50       Ответить с цитатойцитата 

Dr.Syshalt писал:
Гурад, вопрос был про пефоманс perl.

От шо те с этой экономии на спичках^Wбайткоде када у тя пара системных вызовов или тот же pipe который нам любезно показал nagual3 убьёт нахуй эту экономию?

Dr.Syshalt писал:
Насчет красивой гуи - ты просто дурак, или придуриваешься умело

да нет icon_smile.gif это ты с вин32 то ли одно то ли другое icon_smile.gif

.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »