SlideShare a Scribd company logo
1 of 14
Download to read offline
Как понять, что происходит на
сервере?
Александр Крижановский
NatSys Lab., Tempesta Technologies
ak@natsys-lab.com
http://www.brendangregg.com/linuxperf.html
Кейс
Nginx устанавливает мало соединений (=> /proc/net/tcp)
# netstat -npt|grep 8080|grep -c ESTAB
26946
# netstat -npt|grep 8080|grep -c TIME_WAIT
6736
Трафик небольшой (266Mbps, 384Kpps)
# head -2 /proc/net/dev; grep eth0 /proc/net/dev; sleep 10; grep eth0 /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes …
eth0: 84880897009 921337910 0 0 0 0 0 …
eth0: 84531083661 917496243 0 0 0 0 0 …
top
top - 22:18:04 up 8 min, 1 user, load average: 1.56, 0.51, 0.19
Tasks: 76 total, 2 running, 74 sleeping, 0 stopped, 0 zombie
%Cpu(s): 6.8 us, 33.5 sy, 0.0 ni, 5.6 id, 1.7 wa, 0.0 hi, 52.3 si, 0.0 st
KiB Mem: 1023200 total, 183452 used, 839748 free, 13180 buffers
KiB Swap: 498684 total, 0 used, 498684 free, 120656 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3050 nobody 20 0 28868 1852 684 S 29.5 0.2 0:07.21 nginx
3044 nobody 20 0 28868 1852 684 S 21.7 0.2 0:05.82 nginx
3 root 20 0 0 0 0 S 28.3 0.0 0:12.36 ksoftirqd/0
3046 nobody 20 0 28868 1852 684 S 18.0 0.2 0:06.99 nginx
11 root 20 0 0 0 0 S 17.6 0.0 0:12.82 ksoftirqd/1
3049 nobody 20 0 28868 1852 684 S 12.5 0.2 0:06.91 nginx
3047 nobody 20 0 28868 1852 684 S 9.5 0.2 0:07.20 nginx
3052 nobody 20 0 29340 2312 684 R 7.5 0.2 0:06.30 nginx
3053 nobody 20 0 28868 1852 684 S 6.4 0.2 0:05.26 nginx
3048 nobody 20 0 28868 1852 684 S 5.4 0.2 0:05.94 nginx
9 root 20 0 0 0 0 S 4.7 0.0 0:03.70 rcu_sched
3045 nobody 20 0 28868 1852 684 S 3.4 0.2 0:06.55 nginx
3051 nobody 20 0 28868 1852 684 S 1.0 0.2 0:06.06 nginx
top, 1
%Cpu0 : 4.9 us, 25.6 sy, 0.0 ni, 20.7 id, 0.0 wa, 0.0 hi, 48.8 si, 0.0 st
%Cpu1 : 7.4 us, 37.0 sy, 0.0 ni, 17.3 id, 0.0 wa, 0.0 hi, 38.3 si, 0.0 st
Основное время тратится в ядре
Процессоры загружены равномерно
GDB
(профайлинг по-крестьянски)
# for p in `pidof nginx`; do 
gdb -batch -ex "set pagination 0" -ex "thread apply all bt" -p $p | grep "#[01]";
done
#0 0x00007fea49079df3 in __epoll_wait_nocancel () at ../sysdeps/unix/syscall-template.S:82
#1 0x000000000042074b in ngx_epoll_process_events (cycle=0x6a31d0, timer=500, flags=1) at
src/event/modules/ngx_epoll_module.c:577
#0 0x00007fea49079df3 in __epoll_wait_nocancel () at ../sysdeps/unix/syscall-template.S:82
#1 0x000000000042074b in ngx_epoll_process_events (cycle=0x6a31d0, timer=500, flags=1) at
src/event/modules/ngx_epoll_module.c:577
….....
Несколько раз повторяем и (часто) видим bottle-neck
Могли бы увидеть на верху стека прикладной код...
perf top
+ 36.18% nginx [nf_conntrack] [k] nf_ct_tuple_equal
+ 9.95% swapper [kernel.kallsyms] [k] intel_idle
+ 9.87% swapper [kernel.kallsyms] [k] cfq_set_request
+ 5.83% nginx nginx [.] ngx_vslprintf
+ 3.19% nginx nginx [.] ngx_http_parse_header_line
Матчинг соединений:
$ grep -A 1 -i nf_conntrack linux/net/netfilter/Kconfig
config NF_CONNTRACK
tristate "Netfilter connection tracking support"
Статистика Conntracks:
$ cat /proc/net/nf_conntrack | wc -l
25164
Выключаем коннтреки
perf top (2)
+ 36.18% nginx [nf_conntrack] [k] nf_ct_tuple_equal
+ 9.95% swapper [kernel.kallsyms] [k] intel_idle
+ 9.87% swapper [kernel.kallsyms] [k] cfq_set_request
+ 5.83% nginx nginx [.] ngx_vslprintf
+ 3.19% nginx nginx [.] ngx_http_parse_header_line
Объявлена в linux/drivers/idle/intel_idle.c
$ head -2 drivers/idle/intel_idle.c
/*
* intel_idle.c - native hardware idle loop for modern Intel processors
perf top → iostat
+ 36.18% nginx [nf_conntrack] [k] nf_ct_tuple_equal
+ 9.95% swapper [kernel.kallsyms] [k] intel_idle
+ 9.87% swapper [kernel.kallsyms] [k] cfq_set_request
+ 5.83% nginx nginx [.] ngx_vslprintf
+ 3.19% nginx nginx [.] ngx_http_parse_header_line
Disk IO scheduler:
$ find . -name *.[ch] |xargs grep --color '<cfq_set_request>'
./block/cfq-iosched.c:cfq_set_request(struct request_queue *q, …..
./block/cfq-iosched.c: .elevator_set_req_fn = cfq_set_request,
$ iostat -xkdz 1 3
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz
await r_await w_await svctm %util
sda 0.00 0.00 0.00 471.00 0.00 141152.00 1024.00 35.89
93.35 0.00 93.35 0.75 15.40
sda 0.00 0.00 0.00 496.00 0.00 153952.00 1024.00 53.14
91.37 0.00 91.37 0.76 17.90
sda 0.00 38.00 0.00 602.00 0.00 207360.00 1021.13 60.00
112.66 0.00 112.66 0.79 27.50
iotop
# iotop -obn 1
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
3045 be/4 nobody 0.00 B/s 93.07 K/s 0.00 % 0.00 % nginx: worker process
3047 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process
3048 be/4 nobody 0.00 B/s 155.11 K/s 0.00 % 0.00 % nginx: worker process
3049 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process
3050 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process
3052 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process
strace
# strace -e write -p 3044
Process 3044 attached - interrupt to quit
write(8, "172.16.0.1 - - [22/May/2015:00:4"..., 121) = 121
write(8, "172.16.0.1 - - [22/May/2015:00:4"..., 121) = 121
write(8, "172.16.0.1 - - [22/May/2015:00:4"..., 121) = 121
…....
# ls -l /proc/3044/fd/8
l-wx------ 1 nobody nogroup 64 May 21 23:21 /proc/3044/fd/8 -> /opt/nginx-
1.4.2/logs/access.log
Правильно пользоваться lsof
А если в Top все хорошо?
Попробуем запустить бенчмарк (lock-free queue – CPU eater):
$ g++ -std=c++0x -O2 -D DCACHE1_LINESIZE=64 lockfree_rb_q.cc -lpthread
$ ./a.out
top, 1 (~130% CPU usage!):
%Cpu0 : 12.0 us, 21.3 sy, 0.0 ni, 66.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 11.7 us, 22.7 sy, 0.0 ni, 65.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 13.3 us, 21.3 sy, 0.0 ni, 65.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 11.7 us, 22.7 sy, 0.0 ni, 65.3 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
Lock contention => tracer
(gdb, strace)
$ strace -c -p `pidof a.out`
Process 17940 attached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 26.238075 766 34271 futex
0.00 0.000000 0 3 write
0.00 0.000000 0 1 fstat
0.00 0.000000 0 1 mmap
------ ----------- ----------- --------- --------- ----------------
100.00 26.238075 34276 total
Спасибо!
ak@natsys-lab.com

More Related Content

What's hot

Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...Fwdays
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Ontico
 
Как PostgreSQL работает с диском
Как PostgreSQL работает с дискомКак PostgreSQL работает с диском
Как PostgreSQL работает с дискомPostgreSQL-Consulting
 
REDIS intro and how to use redis
REDIS intro and how to use redisREDIS intro and how to use redis
REDIS intro and how to use redisKris Jeong
 
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015PostgreSQL-Consulting
 
Open Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second eraOpen Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second eraSveta Smirnova
 
To Hire, or to train, that is the question (Percona Live 2014)
To Hire, or to train, that is the question (Percona Live 2014)To Hire, or to train, that is the question (Percona Live 2014)
To Hire, or to train, that is the question (Percona Live 2014)Geoffrey Anderson
 
Odoo Performance Limits
Odoo Performance LimitsOdoo Performance Limits
Odoo Performance LimitsOdoo
 
HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)akirahiguchi
 
XtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithmsXtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithmsLaurynas Biveinis
 
GitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons LearnedGitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons LearnedAlexey Lesovsky
 
WiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-TreeWiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-TreeSveta Smirnova
 
Object Storage with Gluster
Object Storage with GlusterObject Storage with Gluster
Object Storage with GlusterGluster.org
 
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014Add a bit of ACID to Cassandra. Cassandra Summit EU 2014
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014odnoklassniki.ru
 
PostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetAlexey Lesovsky
 
Testing Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsTesting Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsAll Things Open
 
Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.Alexey Lesovsky
 

What's hot (20)

Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...Anton Moldovan "Building an efficient replication system for thousands of ter...
Anton Moldovan "Building an efficient replication system for thousands of ter...
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
 
Как PostgreSQL работает с диском
Как PostgreSQL работает с дискомКак PostgreSQL работает с диском
Как PostgreSQL работает с диском
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 
REDIS intro and how to use redis
REDIS intro and how to use redisREDIS intro and how to use redis
REDIS intro and how to use redis
 
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
 
Open Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second eraOpen Source SQL databases enters millions queries per second era
Open Source SQL databases enters millions queries per second era
 
To Hire, or to train, that is the question (Percona Live 2014)
To Hire, or to train, that is the question (Percona Live 2014)To Hire, or to train, that is the question (Percona Live 2014)
To Hire, or to train, that is the question (Percona Live 2014)
 
Odoo Performance Limits
Odoo Performance LimitsOdoo Performance Limits
Odoo Performance Limits
 
HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)
 
XtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithmsXtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithms
 
GitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons LearnedGitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons Learned
 
WiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-TreeWiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-Tree
 
Object Storage with Gluster
Object Storage with GlusterObject Storage with Gluster
Object Storage with Gluster
 
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014Add a bit of ACID to Cassandra. Cassandra Summit EU 2014
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014
 
PostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication Cheatsheet
 
Redis ndc2013
Redis ndc2013Redis ndc2013
Redis ndc2013
 
Testing Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsTesting Wi-Fi with OSS Tools
Testing Wi-Fi with OSS Tools
 
Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.
 
Containers > VMs
Containers > VMsContainers > VMs
Containers > VMs
 

Viewers also liked

Как устроен поиск / Андрей Аксенов (Sphinx)
Как устроен поиск / Андрей Аксенов (Sphinx)Как устроен поиск / Андрей Аксенов (Sphinx)
Как устроен поиск / Андрей Аксенов (Sphinx)Ontico
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Ontico
 
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Ontico
 
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Ontico
 
Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...
Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...
Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...Ontico
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)Ontico
 
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...Ontico
 
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)Ontico
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Ontico
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Ontico
 
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Ontico
 
Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)
Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)
Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)Ontico
 
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Ontico
 
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Ontico
 
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Ontico
 
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)Ontico
 

Viewers also liked (16)

Как устроен поиск / Андрей Аксенов (Sphinx)
Как устроен поиск / Андрей Аксенов (Sphinx)Как устроен поиск / Андрей Аксенов (Sphinx)
Как устроен поиск / Андрей Аксенов (Sphinx)
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
 
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
 
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
 
Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...
Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...
Какие бывают провайдеры услуг дата-центров и как выбрать оптимальный? / Игорь...
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
 
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
 
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
 
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
 
Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)
Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)
Принципы и приёмы обработки очередей / Константин Осипов (Mail.ru)
 
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
 
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
 
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
 
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)
 

Similar to Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab., Tempesta Technologies)

Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPFIvan Babrou
 
YOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceYOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceBrendan Gregg
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceBrendan Gregg
 
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringOSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringNETWAYS
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging RubyAman Gupta
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018Brendan Gregg
 
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerNETWAYS
 
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner FischerNETWAYS
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016Brendan Gregg
 
AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)
AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)
AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)Naoto MATSUMOTO
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemCyber Security Alliance
 
Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.Ontico
 
Performance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networksPerformance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networksMarian Marinov
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全維泰 蔡
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby SystemsEngine Yard
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTier1 app
 
OSDC 2015: Georg Schönberger | Linux Performance Profiling and Monitoring
OSDC 2015: Georg Schönberger | Linux Performance Profiling and MonitoringOSDC 2015: Georg Schönberger | Linux Performance Profiling and Monitoring
OSDC 2015: Georg Schönberger | Linux Performance Profiling and MonitoringNETWAYS
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringGeorg Schönberger
 

Similar to Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab., Tempesta Technologies) (20)

Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
 
YOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceYOW2020 Linux Systems Performance
YOW2020 Linux Systems Performance
 
test
testtest
test
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
 
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringOSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018
 
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
 
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)
AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)
AMDGPU ROCm Tensorflow 1.8 install memo (not support Ubuntu 1804)
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 
Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.
 
Performance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networksPerformance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networks
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
 
OSDC 2015: Georg Schönberger | Linux Performance Profiling and Monitoring
OSDC 2015: Georg Schönberger | Linux Performance Profiling and MonitoringOSDC 2015: Georg Schönberger | Linux Performance Profiling and Monitoring
OSDC 2015: Georg Schönberger | Linux Performance Profiling and Monitoring
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
 

Recently uploaded

Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 

Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab., Tempesta Technologies)

  • 1. Как понять, что происходит на сервере? Александр Крижановский NatSys Lab., Tempesta Technologies ak@natsys-lab.com
  • 3. Кейс Nginx устанавливает мало соединений (=> /proc/net/tcp) # netstat -npt|grep 8080|grep -c ESTAB 26946 # netstat -npt|grep 8080|grep -c TIME_WAIT 6736 Трафик небольшой (266Mbps, 384Kpps) # head -2 /proc/net/dev; grep eth0 /proc/net/dev; sleep 10; grep eth0 /proc/net/dev Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes … eth0: 84880897009 921337910 0 0 0 0 0 … eth0: 84531083661 917496243 0 0 0 0 0 …
  • 4. top top - 22:18:04 up 8 min, 1 user, load average: 1.56, 0.51, 0.19 Tasks: 76 total, 2 running, 74 sleeping, 0 stopped, 0 zombie %Cpu(s): 6.8 us, 33.5 sy, 0.0 ni, 5.6 id, 1.7 wa, 0.0 hi, 52.3 si, 0.0 st KiB Mem: 1023200 total, 183452 used, 839748 free, 13180 buffers KiB Swap: 498684 total, 0 used, 498684 free, 120656 cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3050 nobody 20 0 28868 1852 684 S 29.5 0.2 0:07.21 nginx 3044 nobody 20 0 28868 1852 684 S 21.7 0.2 0:05.82 nginx 3 root 20 0 0 0 0 S 28.3 0.0 0:12.36 ksoftirqd/0 3046 nobody 20 0 28868 1852 684 S 18.0 0.2 0:06.99 nginx 11 root 20 0 0 0 0 S 17.6 0.0 0:12.82 ksoftirqd/1 3049 nobody 20 0 28868 1852 684 S 12.5 0.2 0:06.91 nginx 3047 nobody 20 0 28868 1852 684 S 9.5 0.2 0:07.20 nginx 3052 nobody 20 0 29340 2312 684 R 7.5 0.2 0:06.30 nginx 3053 nobody 20 0 28868 1852 684 S 6.4 0.2 0:05.26 nginx 3048 nobody 20 0 28868 1852 684 S 5.4 0.2 0:05.94 nginx 9 root 20 0 0 0 0 S 4.7 0.0 0:03.70 rcu_sched 3045 nobody 20 0 28868 1852 684 S 3.4 0.2 0:06.55 nginx 3051 nobody 20 0 28868 1852 684 S 1.0 0.2 0:06.06 nginx
  • 5. top, 1 %Cpu0 : 4.9 us, 25.6 sy, 0.0 ni, 20.7 id, 0.0 wa, 0.0 hi, 48.8 si, 0.0 st %Cpu1 : 7.4 us, 37.0 sy, 0.0 ni, 17.3 id, 0.0 wa, 0.0 hi, 38.3 si, 0.0 st Основное время тратится в ядре Процессоры загружены равномерно
  • 6. GDB (профайлинг по-крестьянски) # for p in `pidof nginx`; do gdb -batch -ex "set pagination 0" -ex "thread apply all bt" -p $p | grep "#[01]"; done #0 0x00007fea49079df3 in __epoll_wait_nocancel () at ../sysdeps/unix/syscall-template.S:82 #1 0x000000000042074b in ngx_epoll_process_events (cycle=0x6a31d0, timer=500, flags=1) at src/event/modules/ngx_epoll_module.c:577 #0 0x00007fea49079df3 in __epoll_wait_nocancel () at ../sysdeps/unix/syscall-template.S:82 #1 0x000000000042074b in ngx_epoll_process_events (cycle=0x6a31d0, timer=500, flags=1) at src/event/modules/ngx_epoll_module.c:577 …..... Несколько раз повторяем и (часто) видим bottle-neck Могли бы увидеть на верху стека прикладной код...
  • 7. perf top + 36.18% nginx [nf_conntrack] [k] nf_ct_tuple_equal + 9.95% swapper [kernel.kallsyms] [k] intel_idle + 9.87% swapper [kernel.kallsyms] [k] cfq_set_request + 5.83% nginx nginx [.] ngx_vslprintf + 3.19% nginx nginx [.] ngx_http_parse_header_line Матчинг соединений: $ grep -A 1 -i nf_conntrack linux/net/netfilter/Kconfig config NF_CONNTRACK tristate "Netfilter connection tracking support" Статистика Conntracks: $ cat /proc/net/nf_conntrack | wc -l 25164 Выключаем коннтреки
  • 8. perf top (2) + 36.18% nginx [nf_conntrack] [k] nf_ct_tuple_equal + 9.95% swapper [kernel.kallsyms] [k] intel_idle + 9.87% swapper [kernel.kallsyms] [k] cfq_set_request + 5.83% nginx nginx [.] ngx_vslprintf + 3.19% nginx nginx [.] ngx_http_parse_header_line Объявлена в linux/drivers/idle/intel_idle.c $ head -2 drivers/idle/intel_idle.c /* * intel_idle.c - native hardware idle loop for modern Intel processors
  • 9. perf top → iostat + 36.18% nginx [nf_conntrack] [k] nf_ct_tuple_equal + 9.95% swapper [kernel.kallsyms] [k] intel_idle + 9.87% swapper [kernel.kallsyms] [k] cfq_set_request + 5.83% nginx nginx [.] ngx_vslprintf + 3.19% nginx nginx [.] ngx_http_parse_header_line Disk IO scheduler: $ find . -name *.[ch] |xargs grep --color '<cfq_set_request>' ./block/cfq-iosched.c:cfq_set_request(struct request_queue *q, ….. ./block/cfq-iosched.c: .elevator_set_req_fn = cfq_set_request, $ iostat -xkdz 1 3 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.00 0.00 471.00 0.00 141152.00 1024.00 35.89 93.35 0.00 93.35 0.75 15.40 sda 0.00 0.00 0.00 496.00 0.00 153952.00 1024.00 53.14 91.37 0.00 91.37 0.76 17.90 sda 0.00 38.00 0.00 602.00 0.00 207360.00 1021.13 60.00 112.66 0.00 112.66 0.79 27.50
  • 10. iotop # iotop -obn 1 Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND 3045 be/4 nobody 0.00 B/s 93.07 K/s 0.00 % 0.00 % nginx: worker process 3047 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process 3048 be/4 nobody 0.00 B/s 155.11 K/s 0.00 % 0.00 % nginx: worker process 3049 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process 3050 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process 3052 be/4 nobody 0.00 B/s 62.04 K/s 0.00 % 0.00 % nginx: worker process
  • 11. strace # strace -e write -p 3044 Process 3044 attached - interrupt to quit write(8, "172.16.0.1 - - [22/May/2015:00:4"..., 121) = 121 write(8, "172.16.0.1 - - [22/May/2015:00:4"..., 121) = 121 write(8, "172.16.0.1 - - [22/May/2015:00:4"..., 121) = 121 ….... # ls -l /proc/3044/fd/8 l-wx------ 1 nobody nogroup 64 May 21 23:21 /proc/3044/fd/8 -> /opt/nginx- 1.4.2/logs/access.log Правильно пользоваться lsof
  • 12. А если в Top все хорошо? Попробуем запустить бенчмарк (lock-free queue – CPU eater): $ g++ -std=c++0x -O2 -D DCACHE1_LINESIZE=64 lockfree_rb_q.cc -lpthread $ ./a.out top, 1 (~130% CPU usage!): %Cpu0 : 12.0 us, 21.3 sy, 0.0 ni, 66.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 11.7 us, 22.7 sy, 0.0 ni, 65.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 13.3 us, 21.3 sy, 0.0 ni, 65.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 11.7 us, 22.7 sy, 0.0 ni, 65.3 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
  • 13. Lock contention => tracer (gdb, strace) $ strace -c -p `pidof a.out` Process 17940 attached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 100.00 26.238075 766 34271 futex 0.00 0.000000 0 3 write 0.00 0.000000 0 1 fstat 0.00 0.000000 0 1 mmap ------ ----------- ----------- --------- --------- ---------------- 100.00 26.238075 34276 total