Size: a a a

Ceph — русскоговорящее сообщество

2020 June 08

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
нет, ты замеры не делал по моем методике
источник

AP

Alexander Patrakov in Ceph — русскоговорящее сообщество
Виталий На Заборе
Интересно, а никто не знает, как понять источник сетевой задержки?
Прикол следующий: вот есть 2 компа, соединённые 10г сетью, напрямую, попа в попу. Замеряю производительность sockperf pp -m 4096 - получаю среднюю задержку 35 микросекунд. Дальше пишу сам на блокирующем i/o (read/write) тестовый сервер и тестовый клиент (ничего не делающие) - получаю чуть больше: для операций по 4096 байт примерно 43 микросекунды. Но ладно, в целом порядок тот же. А потом - беру своё поделие, которое по запросу фактически что-то пишет на диск - и задержка диска составляет примерно 30-40 микросекунд, но при этом сетевая задержка возрастает аж до 85-90 микросекунд! (т.е. суммарно операция начинает занимать ~130 микросекунд) И это реально происходит именно в момент, когда программа больше ничем не занята. То есть тупо с момента завершения sendmsg до момента получения события в epoll (следующего запроса от тестового клиента) проходит 90 микросекунд. ОТКУДА???
покажи вывод команды redis-cli --intrinsic-latency 100 (redis-сервер запускать не надо, это просто хороший бенчмарк на тему "сколько микросекунд за раз воруют у процесса, который крутит бесконечный цикл")
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
после этого tcpdump посмотреть с какой задержкой с клиента новый запрос уходит после старого и убедиться что там нет ничего криминального.
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Vyacheslav Olkhovchenkov
после этого tcpdump посмотреть с какой задержкой с клиента новый запрос уходит после старого и убедиться что там нет ничего криминального.
а что там может быть?
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
а это думать надо будет если оно там обнаружиться а не до.
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Alexander Patrakov
покажи вывод команды redis-cli --intrinsic-latency 100 (redis-сервер запускать не надо, это просто хороший бенчмарк на тему "сколько микросекунд за раз воруют у процесса, который крутит бесконечный цикл")
написал

Max latency so far: 1 microseconds.
Max latency so far: 4 microseconds.
Max latency so far: 5 microseconds.
Max latency so far: 6 microseconds.
Max latency so far: 23 microseconds.
Max latency so far: 24 microseconds.
Max latency so far: 67 microseconds.
Max latency so far: 68 microseconds.

и дальше висит
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
а что это означает?
источник

AP

Alexander Patrakov in Ceph — русскоговорящее сообщество
жди еще 100 секунд
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
а. щас заново. убил по ctrl-c
источник

AP

Alexander Patrakov in Ceph — русскоговорящее сообщество
это означает, что несетевые задержки уже сами по себе могут составить 68 микросекунд
источник

AP

Alexander Patrakov in Ceph — русскоговорящее сообщество
оно с сетью не работает, просто вызывает gettimeofday() в цикле и смотрит на разницу соседних значений.
источник

AP

Alexander Patrakov in Ceph — русскоговорящее сообщество
смысл - не пытаться оптимизировать сеть лучше этой цифры
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
а, понятно. а оно там потом пишет какое-то распределение? т.е так-то понятно что в отдельные моменты может быть задержка т.к. кто-то ещё решил выполниться, но не массово
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Max latency so far: 1 microseconds.
Max latency so far: 3 microseconds.
Max latency so far: 5 microseconds.
Max latency so far: 10 microseconds.
Max latency so far: 12 microseconds.
Max latency so far: 17 microseconds.
Max latency so far: 18 microseconds.
Max latency so far: 21 microseconds.
Max latency so far: 26 microseconds.
Max latency so far: 66 microseconds.
Max latency so far: 117 microseconds.
Max latency so far: 443 microseconds.

1032785220 total runs (avg latency: 0.0968 microseconds / 96.83 nanoseconds per run).
Worst run took 4575x longer than the average latency.
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
Alexander Patrakov
смысл - не пытаться оптимизировать сеть лучше этой цифры
мне бы хотелось получить цифру, сравнимую с sockperf
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
либо объяснить хотя бы себе, почему не получается сравнимая
источник

ВН

Виталий На Заборе... in Ceph — русскоговорящее сообщество
на машине, где практически ничего нет
источник

AP

Alexander Patrakov in Ceph — русскоговорящее сообщество
ну тогда запустить пустой redis и сделать redis-benchmark ping
источник

AK

Alexander Kononov in Ceph — русскоговорящее сообщество
попробуй еще к одному ядру прибить процесс
taskset 0x4 redis-cli --intrinsic-latency 100
источник

VO

Vyacheslav Olkhovche... in Ceph — русскоговорящее сообщество
а насколько долго может выполняться /usr/sbin/ceph-volume raw prepare ?
источник