Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: время в логах на п риличной нагрузке.
On Wed, Sep 10, 2008 at 02:41:18PM +0400, calculator@xxxxxxx wrote:
> >>>А можно ещё писать в лог номер процесса, чтобы посмотреть, где идёт
> >>>отставание ?
> >>>
> >>Да в том то и дело что нет. На боевом сервере формат логов оговорен, мы
> >>их отдаем на обработку потом. Если поднапрячься наверно можно 2 сервера
> >>еще собрать на тестирование но нужно будет еще код counter'а подправить.
> >>Еще заметили закономерность что разница во времени всегда 4398 либо 4399
> >
> >Можно завести параллельно второй лог.
> >
> Да, похоже во время больших нагрузок так и сделаем.
> Но похоже нам придется немного код nginx'а дополнить чтобы pid в логи
> писать или я ошибаюсь?
Да, я как-то забыл, что переменной $pid нет. Патч прилагается.
--
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http_variables.c
===================================================================
--- src/http/ngx_http_variables.c (revision 1563)
+++ src/http/ngx_http_variables.c (working copy)
@@ -78,6 +78,8 @@
ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_hostname(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
+static ngx_int_t ngx_http_variable_pid(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data);
/*
* TODO:
@@ -227,6 +229,9 @@
{ ngx_string("hostname"), NULL, ngx_http_variable_hostname,
0, 0, 0 },
+ { ngx_string("pid"), NULL, ngx_http_variable_pid,
+ 0, 0, 0 },
+
{ ngx_null_string, NULL, NULL, 0, 0, 0 }
};
@@ -1353,6 +1358,27 @@
}
+static ngx_int_t
+ngx_http_variable_pid(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data)
+{
+ u_char *p;
+
+ p = ngx_pnalloc(r->pool, NGX_INT64_LEN);
+ if (p == NULL) {
+ return NGX_ERROR;
+ }
+
+ v->len = ngx_sprintf(p, "%P", ngx_pid) - p;
+ v->valid = 1;
+ v->no_cacheable = 0;
+ v->not_found = 0;
+ v->data = p;
+
+ return NGX_OK;
+}
+
+
ngx_int_t
ngx_http_variables_add_core_vars(ngx_conf_t *cf)
{
|