vti | 20 Nov 00:59
Gravatar

Re: Как получить все заголовки из встроенного Perl?

jackal(me@...)@Thu, Nov 20, 2008 at 01:52:11AM +0300:
> On Thursday 20 November 2008 02:01:50 vti wrote:
> > $r->header_in(<Заголовок>) не устраивает, потому что мне необходимо
> > перенаправить ВСЕ заголовки другому объекту.
> >
> > Если ли возможность получить хэш, массив или что-то
иное, содержащее все
> > заголовки запроса?
> >
> > Спасибо
> 
> Передайте другому объекту $r
> 
> -- 
> С уважением, Евгений.

Другой объект такой же глупый, поэтому он тоже не
может обработать $r,
как ни странно это звучит.

--

-- 
vti

Andrei Nigmatulin | 20 Nov 00:05

Re: php-cgi+nginx+core dumped

On Thursday 20 November 2008 01:11, Nick wrote:
> >Это бесполезный бектрейс. Пересоберите php, как вам
посоветовал Антон, с
> >CFLAGS="-g3 -O0"
>
> не собираеться почему после ./configure  CFLAGS="-g3 -O0"
>
> все ок после того как делаю make вот єто получаю

make clean all должен помочь.

--

-- 
Andrei Nigmatulin
GPG PUB KEY 6449830D

Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take
vti | 19 Nov 23:58
Gravatar

Как получить все заголовки из встроенного Perl?

$r->header_in(<Заголовок>) не устраивает, потому что мне необходимо
перенаправить ВСЕ заголовки другому объекту.

Если ли возможность получить хэш, массив или что-то
иное, содержащее все
заголовки запроса?

Спасибо

--

-- 
vti

Nick | 19 Nov 22:24

php-cgi+nginx+core dumped

Так никто и не ответил на бектрей моей корки, или не
видели, поєтому 
создам тему заново

чуть предыстории

проблема заключаеть в том что начал в логах замечать
вот такое

Nov 18 23:52:30 kernel: pid 87559 (php-cgi), uid 80: exited on signal 6

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

нашел следующие и подключил:

Директива позволяет отслеживать медленное
исполнение скриптов и 
записывать их в лог файл вместе с backtrace. Например, для
таких настроек

     <value name="request_slowlog_timeout">5s</value>
     <value name="slowlog">logs/slow.log</value>

после чего в логе slow.log во время появления exited on signal 6
вижу 
вот что :

Nov 18 23:50:09.528587 pid 87558 (pool main)
(Continue reading)

Sergey Shepelev | 19 Nov 17:02
Gravatar

Re: настройка редиректора

Большое спасибо.

2008/11/19 Igor Sysoev <is <at> rambler-co.ru>
On Wed, Nov 19, 2008 at 01:40:15PM +0300, Sergey Shepelev wrote:

> Компания - регистратор доменов предоставляет услугу HTTP redirect с
> юзерского домена на какой угодно адрес.
> Эту услугу обслуживает nginx на одном адресе, на одной машине.
>
> Клиентов часто ДДоСят, поэтому редиректор тоже под большой нагрузкой из-за
> этого.
>
> Доменов, с которых надо редиректить, примерно 500, это число будет расти, но
> достаточно медленно.
>
> Задача nginx - максимально быстро вернуть редирект и принудительно закрыть
> соединение.
>
> Есть ли аргументы в пользу "нестабильного" 0.7, например, он быстрее ищет
> сервер в списке виртхостов?

0.7 в этом плане не особо отличается от 0.5.

> Работающий nginx 0.5 давно настраивал плохо разбирающийся в nginx человек,
> поэтому присылать текущий конфиг смысла не вижу.
>
> Значительного увеличения производительности удалось достигнуть за счет
>
>      listen (ip):80 *default rcvbuf=2K backlog=128*;
>
> можно ли здесь еще что-нибудь улучшить?
>
> Учитывая, что практически все легальные запросы живых юзеров -
> http://домен/<http://xn--d1acufc/>,
> будет ли смысл писать конфиг виртхоста, как
>
> server {
>   listen (ip):80;
>   server_name vhost;
> *  location = / { rewrite .* http://redirect.to/; }
> *  location / { rewrite (.*) http://redirect.to/$1; }
> }

Да, так будет немного лучше. Я предпочитаю такой вариант:

-  location = / { rewrite .* http://redirect.to/; }
+  location = / { rewrite ^  http://redirect.to/; }

но не знаю, насколько "^" отличается от ".*" по производительности.
Возможно, они компилируются в одно и то же .

Спасибо. Кстати, разница между
1) один server, 400 if ( $host ~ vhost ) { redirect .* http://redirect.addr/ redirect; }
# да, я знаю что это плохо, но так было раньше, будет исправлено
и
2) много директив server, в каждой location = / { rewrite ^ http://redirect.to/; } location / { rewrite (.*) http://redirect.to/$1; }
ровно в два раза: 4500 и 9000 зап/сек соответственно.
 

> Может быть, можно подкрутить *_buffer_size, *_timeout? Посоветуете?
> Может нужно отключить посыл каких-то заголовков?
>
> **keepalive_timeout стоит 0.

reset_timedout_connection  on;

Это тоже стояло.
 

> "Производительность" тестировалась c помощью ab -c 1000 -n 50000
> http://vhost/
> сейчас это 9к запросов/сек, но я чувствую, что можно больше.


--
Игорь Сысоев
http://sysoev.ru


Igor Sysoev | 19 Nov 16:28

Re: pread() failed для модуля раздачи flv

On Wed, Nov 19, 2008 at 08:22:34PM +0530, Александр Кутузов wrote:

> вроде работает. Спасибо.

А чему равен размер блока на этой xfs ?
Как посмотреть - не знаю.

--

-- 
Игорь Сысоев
http://sysoev.ru

Igor Sysoev | 19 Nov 16:13

Re: pread() failed для модуля раздачи flv

On Wed, Nov 19, 2008 at 08:22:34PM +0530, Александр Кутузов wrote:

> вроде работает. Спасибо.

А можно попробовать уменьшить в патче NGX_DIRECTIO_BLOCK до 1024
и 2048 ?

> 19.11.2008, в 18:23, Igor Sysoev написал(а):
> 
> >On Wed, Nov 19, 2008 at 04:15:45PM +0530, Александр Кутузов wrote:
> >
> >>12936 recvfrom(25, "GET /4c8d31e51bec417fa23c9c7ac2f"..., 8192, 0,
> >>NULL, NULL) = 263
> >>12936 open("/mnt/flv/4c8d31e51bec417fa23c9c7ac2fc10e5.flv", O_RDONLY)
> >>= 27
> >>12936 fstat(27, {st_mode=S_IFREG|0664, st_size=22504138, ...}) = 0
> >>12936 fcntl(27, F_GETFL)                = 0x8000 (flags O_RDONLY|
> >>O_LARGEFILE)
> >>12936 fcntl(27, F_SETFL, O_RDONLY|O_DIRECT|O_LARGEFILE) = 0
> >>12936 fcntl(27, F_GETFL)                = 0xc000 (flags O_RDONLY|
> >>O_DIRECT|O_LARGEFILE)
> >>12936 fcntl(27, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
> >>12936 pread(27, "\t\0\27\250\2UX\0\0\0\0\27\1\0\0\0\0\0\27\237e
> >>\210\200\2\200\0\326-\21\313\374/"..., 283, 9986277) = 283
> >>12936 fcntl(27, F_GETFL)                = 0x8000 (flags O_RDONLY|
> >>O_LARGEFILE)
> >>12936 fcntl(27, F_SETFL, O_RDONLY|O_DIRECT|O_LARGEFILE) = 0
> >>12936 pread(27, 0x6146c00, 32768, 9986560) = -1 EINVAL (Invalid
> >>argument)
> >
> >Странно, все параметры выравнены на 512 байт.
> >Возможно, для xfs размер блока больше.
> >Можно попробовать прилагаемый патч, который
выравнивает на 4096 ?
> >
> >
> >-- 
> >Игорь Сысоев
> >http://sysoev.ru
> ><patch.directio>
> 
> 
> Kind regards,
> Alexandr Kutuzov, alleteam@...
> 
> 
> 
> 
> 

--

-- 
Игорь Сысоев
http://sysoev.ru

Alex Vorona | 19 Nov 14:20

Re: include file абсолютный путь

18.11.2008 17:40, Sergej kandyla wrote:
> 
> при обработке конструкции типа
>    <!--# include file="../__footer.html" -->
> 
> nginx ее интерпритирует как абсолютный путь
> 
> 008/11/18 15:25:18 [error] 75369#0: *841 unsafe URI 
> "/freebsd/../__footer.html" was detected while sending response to 
> client, client: xxx  server: yyy, request: "GET /freebsd/page2.html 
> HTTP/1.1", host: "yyy"
> 
> 
> на веб странице при этом пишет
> [an error occurred while processing the directive]
> 
> include virtual тоже не помогло.

<!--# include virtual="/__footer.html" -->
так не работает?
> 
> 
> есть ли способ, чтобы include понимало относительные пути?
> Спасибо!
> 
> 

Alex Vorona | 19 Nov 12:44

Re: настройка редиректора

19.11.2008 12:40, Sergey Shepelev wrote:
> Здравствуйте.
> 
> Компания - регистратор доменов предоставляет
услугу HTTP redirect с 
> юзерского домена на какой угодно адрес.
> Эту услугу обслуживает nginx на одном адресе, на одной машине.
разнести на несколько IP может быть полезным,
например чтобы иметь на каждом свой backlog
> 
> Клиентов часто ДДоСят, поэтому редиректор тоже под
большой нагрузкой 
> из-за этого.
> 

таймауты tcp, лимиты на сокеты и тп.
> Доменов, с которых надо редиректить, примерно 500, это
число будет 
> расти, но достаточно медленно.
> 
> Задача nginx - максимально быстро вернуть редирект и
принудительно 
> закрыть соединение.
> 
> Есть ли аргументы в пользу "нестабильного" 0.7,
например, он быстрее 
> ищет сервер в списке виртхостов?
> 
> Работающий nginx 0.5 давно настраивал плохо
разбирающийся в nginx 
> человек, поэтому присылать текущий конфиг смысла не вижу.
> 
> Значительного увеличения производительности
удалось достигнуть за счет
> 
>      listen (ip):80 *default rcvbuf=2K backlog=128*;
> 

backlog поднять выше. 1к-4к например. Неплохо включить
deferred для linux и accept_filter=httpready 
для freebsd
> можно ли здесь еще что-нибудь улучшить?
> 

Goncharov Nikolay | 19 Nov 12:31

Re: php-fpm+ngninx

Провтыкал вот дополнения
#0  0x2856b5df in kill () from /lib/libc.so.6
(gdb) bt full
#0  0x2856b5df in kill () from /lib/libc.so.6
No symbol table info available.
#1  0x2856b57c in raise () from /lib/libc.so.6
No symbol table info available.
#2  0x2856a28c in abort () from /lib/libc.so.6
No symbol table info available.
#3  0x28506f3b in _UTF8_init () from /lib/libc.so.6
No symbol table info available.
#4  0xbfbfec97 in ?? ()
No symbol table info available.
#5  0x28571585 in sys_nsig () from /lib/libc.so.6
No symbol table info available.
#6  0x28571493 in sys_nsig () from /lib/libc.so.6
No symbol table info available.
#7  0x28571557 in sys_nsig () from /lib/libc.so.6
No symbol table info available.
#8  0x0000002e in ?? ()
No symbol table info available.
#9  0x2857d8a0 in ?? () from /lib/libc.so.6
No symbol table info available.
#10 0xbfbf92d8 in ?? ()
No symbol table info available.
#11 0x28506f69 in _UTF8_init () from /lib/libc.so.6
No symbol table info available.
#12 0x2857d8a0 in ?? () from /lib/libc.so.6
No symbol table info available.
#13 0x08250cd8 in _CurrentRuneLocale ()
No symbol table info available.
#14 0xbfbf9388 in ?? ()
No symbol table info available.
#15 0x28507ff0 in _UTF8_init () from /lib/libc.so.6
No symbol table info available.
#16 0xbfbf92a0 in ?? ()
No symbol table info available.
#17 0x00000420 in ?? ()
No symbol table info available.
#18 0x00000006 in ?? ()
No symbol table info available.
#19 0x084d1dd0 in ?? ()
No symbol table info available.
#20 0x00000000 in ?? ()
No symbol table info available.
#21 0x0845fa40 in ?? ()
---Type <return> to continue, or q <return> to quit---

Igor Sysoev | 19 Nov 10:04

Re: php-fpm+ngninx

On Wed, Nov 19, 2008 at 10:55:27AM +0200, Goncharov Nikolay wrote:

> >Установите значение перменной kern.coredump в 1:
> ># sysctl kern.coredump=1
> >
> >и как сделать бектрейс если у меня freebsd
> >
> >$ gdb /path/to/binary /patch/to/binary.core
> >...
> >(gdb) bt full
> 
> все дело в том  что пхп корки не оставляет :((( 
> 
> когда в логах появляются 
> pid 94167 (php-cgi), uid 80: exited on signal 6
> по?тому незнаю что и делать :(

kern.coredump=1
kern.sugid_coredump=1
kern.corefile=/path/to/core/%N.core.%P

Кроме того, пользователь за нумером 80 должен иметь
права на запись
в /path/to/core/


--

-- 
Игорь Сысоев
http://sysoev.ru


Gmane