Ограничение значения медианы и перцентилей в таблице отчетов

61 views
Skip to first unread message

Volodymyr Stolyarchuk

unread,
Jan 15, 2015, 5:07:43 AM1/15/15
to pinba-e...@googlegroups.com
Заметил что значение персентилей в отчете по тегу у меня не превышает 10, хотя в некоторых ситуациях значение может быть больше
для проверки сделала такой эксперимент

$timer = pinba_timer_start(['provider_req_time' => 'test']);
sleep(20);
pinba_timer_stop($timer);

После чего в таблице таймера запрос сохранился со значением - 20

mysql> SELECT * FROM pinba.timer where id=258771\G
*************************** 1. row ***************************
        id: 258771
request_id: 1292319
 hit_count: 1
     value: 20.0002
1 row in set (0.00 sec)

Но вот в таблице отчета там - 10

mysql> SELECT * FROM pinba.tag_info_provider_req_time where tag_value='test'\G
*************************** 1. row ***************************
   tag_value: test
   req_count: 1
 req_per_sec: 0.00111111
   hit_count: 1
 hit_per_sec: 0.00111111
 timer_value: 20.0002
timer_median: 10
 index_value: test
         p75: 10
         p95: 10
1 row in set (0.00 sec)

Таблицу отчета создавал с помощью table_generator.php

Я что-то не так делаю или это так задумано?


Antony Dovgal

unread,
Jan 15, 2015, 5:45:25 AM1/15/15
to pinba-e...@googlegroups.com
Медиана и перцентили считаются не честно (для этого пришлось бы сортировать все данные), а из "гистограммы" - есть N ячеек и мы просто считаем частоту попадания в эти ячейки.
Гистограмма имеет верхний предел по времени, он настраивается переменной pinba_histogram_max_time в my.cnf.
Добавьте pinba_histogram_max_time=<значние> в my.cnf и перегрузите MySQL.
--
You received this message because you are subscribed to the Google Groups "Pinba Engine development list (in Russian)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pinba-engine-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
Wbr,
Antony Dovgal
---
http://pinba.org - realtime profiling for PHP

Volodymyr Stolyarchuk

unread,
Jan 16, 2015, 7:52:36 AM1/16/15
to pinba-e...@googlegroups.com
Спасибо, то что мне было нужно
Есть ли какие-то последсивия увелияения этого параметра. Если да, то насколько допустимо его увеличивать?

четверг, 15 января 2015 г., 12:45:25 UTC+2 пользователь tony2001 написал:

Antony Dovgal

unread,
Jan 16, 2015, 8:11:32 AM1/16/15
to pinba-e...@googlegroups.com
On 01/16/2015 03:52 PM, Volodymyr Stolyarchuk wrote:
> Спасибо, то что мне было нужно
> Есть ли какие-то последсивия увелияения этого параметра. Если да, то насколько допустимо его увеличивать?
Для пинбы это просто цифра.
Последствие одно: кол-во ячеек гистограммы зашито в коде (сейчас их 512) и при увеличении верхней границы ячейки увеличиваются в размере.
Внешне это выглядит так - на графиках у медиан и перцентилей есть ступеньки высотой с одну ячейку, при "растягивании" границы вверх эти ступеньки тоже растягиваются.

Я пока думаю - надо ли число ячеек выносить в конфиг или нет.
Пока что, вы первый, кто сказал, что использует этот функционал =)

Ильяс Салихов

unread,
Jan 16, 2015, 8:19:40 AM1/16/15
to pinba-e...@googlegroups.com
Антон, в Pinboard тоже используется и выводятся графики по персентилям тэгов. И эти графики сейчас, к сожалению, отключены в master-ветке, потому что на практике они показывали некорректные данные в силу недостаточной дискретности гистограммы. Я пробовал на своих данных увеличивать верхний порог, но это не помогало. Было бы здорово, если бы это можно было настраивать.

пятница, 16 января 2015 г., 16:11:32 UTC+3 пользователь tony2001 написал:

Antony Dovgal

unread,
Jan 16, 2015, 8:34:00 AM1/16/15
to pinba-e...@googlegroups.com
On 01/16/2015 04:19 PM, Ильяс Салихов wrote:
> Антон, в Pinboard тоже используется и выводятся графики по персентилям тэгов. И эти графики сейчас, к сожалению, отключены в master-ветке, потому что на практике они показывали некорректные данные в силу недостаточной дискретности гистограммы. Я пробовал на своих данных увеличивать верхний порог, но это не помогало. Было бы здорово, если бы это можно было настраивать.

А можно чуть подробнее?
У нас это используется с дефолтовыми 10-тью секундами для верхней границы и шаг в .01953125 секунды пока всех устраивает.

Ильяс Салихов

unread,
Jan 16, 2015, 10:32:11 AM1/16/15
to pinba-e...@googlegroups.com

Вот пример. Выводится медиана и 95 персентиль для request_time и для одного тег, таймер которого вызывается не на всех страницах, а на некоторых. Другие теги я скрыл, чтобы не усложнять, там картина получается еще хуже. На графиках видно, что медиана тега превышает медиана request_time. Если я правильно понимаю, такого не должно быть.



пятница, 16 января 2015 г., 16:34:00 UTC+3 пользователь tony2001 написал:

Ильяс Салихов

unread,
Jan 16, 2015, 10:37:49 AM1/16/15
to pinba-e...@googlegroups.com
Данные собираю в такую таблицу

            CREATE TABLE `ipm_pinba_tag_info_category_server_server_name_hostname` (
                    `tag1_value` varchar(64) DEFAULT NULL,
                    `tag2_value` varchar(64) DEFAULT NULL,
                    `tag3_value` varchar(64) DEFAULT NULL,
                    `tag4_value` varchar(64) DEFAULT NULL,
                    `req_count` int(11) DEFAULT NULL,
                    `req_per_sec` float DEFAULT NULL,
                    `hit_count` int(11) DEFAULT NULL,
                    `hit_per_sec` float DEFAULT NULL,
                    `timer_value` float DEFAULT NULL,
                    `timer_median` float DEFAULT NULL,
                    `ru_utime_value` float DEFAULT NULL,
                    `ru_stime_value` float DEFAULT NULL,
                    `index_value` varchar(256) DEFAULT NULL
                    ,`p90` float DEFAULT NULL,
                    `p95` float DEFAULT NULL,
                    `p99` float DEFAULT NULL
            ) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='tagN_info:category,server,__server_name,__hostname::90,95,99'

На графиках выборка данных для (конкретного сервера; конкретного сайта; конкретного тега)


пятница, 16 января 2015 г., 18:32:11 UTC+3 пользователь Ильяс Салихов написал:

Antony Dovgal

unread,
Jan 16, 2015, 10:45:49 AM1/16/15
to pinba-e...@googlegroups.com
On 01/16/2015 06:32 PM, Ильяс Салихов wrote:
>
> Вот пример. Выводится медиана и 95 персентиль для request_time и для одного тег, таймер которого вызывается не на всех страницах, а на некоторых. Другие теги я скрыл, чтобы не усложнять, там картина получается еще хуже. На графиках видно, что медиана тега превышает медиана request_time. Если я правильно понимаю, такого не должно быть.
>

А как это выглядит в сыром виде в таблицах самой пинбы?
Reply all
Reply to author
Forward
0 new messages