Производительность в *nix

Материал из Энциклопедия Хаб.ру
Перейти к: навигация, поиск

Содержание

Замеры и мониторинг производительности в *nix системах

Производительность в сети

IPERF

Запуск демона который будет слушать: iperf -s -f M Запуск клиента, который инициализирует соединение: iperf -c servername.domainname -P 4 -f M -w 256k -t 60 -P количество тредов -f format -w размер буфера TCP

NetCat

dd if=/dev/cciss/c0d0p1 of=file.img bs=4096K count=2 server: cat file.img | nc -l -p 5555 client: nc 10.11.110.200 5555 | dd of=file.img bs=4096K count=2


Производительность дисковой подсистемы

В ядрах 2.6.32 и новее можно немного повысить производительность на сервере путём отключения low latency , включенного по умолчанию, которое снижает пиковую производительность, но повышает отзывчивость, нужную только для десктопа.

отключить

echo 0 > /sys/class/block/HDD/queue/iosched/low_latency

dd

time for i in `seq 1 100`; do S=$(($RANDOM%10240)); echo $S; strace -T dd if=/dev/sdc of=/dev/null skip=$S count=1 bs=8M 2>&1 |grep "= $((8*1048576))" |grep read; done

Загрузка системы

iostat 1
w username
top
htop
atop
vmstat -m
vmstat -a
vmstat 3
 
vmstat -s -S M
 
pidstat -d |sort -k 3n
 
pidstat -d -p ALL | sort -k 4 -n |grep `for pid in $(fuser -m /dev/mapper/vg1-vps 2>/dev/null); do echo -n $pid'\|'; done`
 
 
service sysklogd stop
 echo 1 > /proc/sys/vm/block_dump
dmesg | egrep "READ|WRITE|dirtied" | awk '{print $2}' | sort | uniq -c | sort -rn | head
 
1526 mysqld
819 httpd
429 kjournald
35 qmail
27 in
7 imapd
6 irqbalance
5 pop
4 pdflush
3 spamc
 
echo 0 > /proc/sys/vm/block_dump
service sysklogd start

ulimit

Значения по умолчанию берутся через pam:

# Sets up user limits, please uncomment and read /etc/security/limits.conf
# to enable this functionality.
# (Replaces the use of /etc/limits in old login)
session    required   pam_limits.so

/etc/security/limits.conf,

*               soft    nofile          16384
*               hard    nofile          65536
root            soft    nofile          16384
root            hard    nofile          65536

Ограничение ресурсов

cgroup

SWAP

vm.swappiness = 20
cat /proc/sys/vm/swappiness
echo $newswap_param > /proc/sys/vm/swappiness
 
#see treads
ps -eLf
 
lsof
fuser
pidstat
 
disk=c1d1; sudo cat /proc/diskstats |grep $disk |awk '{print "reads issued="$4"\n" "reads merged="$5"\n""sectors read="$6"\n""milliseconds spent reading="$7"\n""writes completed="$8"\n""writes completed="$9"\n""sectors written="$10"\n""milliseconds spent writing="$11"\n""I/Os currently in progress="$12"\n""of milliseconds spent doing I/Os="$13"\n""weighted # of milliseconds spent doing I/Os="$14"\n"}'

Внешние ссылки

  1. How do I Find Out Linux CPU Utilization?
  2. http://www.cs.princeton.edu/picasso/mats/mats_S07/Lucifredi_Lecture_Feb07.pdf Linux Profiling and Optimization, Novel]
  3. Linux Change The I/O Scheduler For A Hard Disk
  4. 20 Linux System Monitoring Tools Every SysAdmin Should Know
  5. Hunting down elusive sources of iowait
  6. Swappiness
  7. Linux: Tuning Swappiness
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты