Portál AbcLinuxu, 10. května 2025 09:16
#iostat -x -d Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sdb 1.04 37.88 9.27 155.27 597.12 1908.68 30.46 0.83 5.03 0.77 5.29 4.75 78.24 sdd 0.00 37.59 0.00 164.83 0.03 2501.57 30.35 0.89 5.39 3.17 5.39 4.76 78.46 md1 0.00 0.00 1.04 192.82 4.21 1901.66 19.66 0.00 0.00 0.00 0.00 0.00 0.00 dm-1 0.00 0.00 0.00 154.48 0.07 1311.27 16.98 1.11 7.21 6.66 7.21 5.42 83.73MD device je nad oddily, ktere zacinaji 2048 b od zacatku
# fdisk -l /dev/sdb Disk /dev/sdb: 120.0 GB, 120034123776 bytes 1 heads, 53 sectors/track, 4423427 cylinders, total 234441648 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Device Boot Start End Blocks Id System /dev/sdb1 2048 220203007 110100480 83 Linux
SSD jsou Device Model: INTEL SSDSC2BW120A4
Distro Debian 6 jadro 2.6.32
Jeste podotykam, ze chci resit jenom utilizaci, a ne to, zda by se nemela optimalizavat DB :)
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 11174 be/3 root 0.00 B/s 0.00 B/s 0.00 % 69.10 % [jbd2/dm-1-8] 669 be/3 root 0.00 B/s 0.00 B/s 0.00 % 3.06 % [jbd2/dm-0-8] 807122 be/4 Debian-e 0.00 B/s 56.56 K/s 0.00 % 2.74 % mysqld --basedir=/usr --datadir=/var/lib/mysql/ --p~mysql/mysql.pid --socket=/var/run/mysqld/mysqld.sock 37963 be/4 Debian-e 0.00 B/s 56.56 K/s 0.00 % 2.65 % mysqld --basedir=/usr --datadir=/var/lib/mysql/ --pl~mysql/mysql.pid --socket=/var/run/mysqld/mysqld.sock 113161 be/4 Debian-e 0.00 B/s 22.63 K/s 0.00 % 0.93 % mysqld --basedir=/usr --datadir=/var/lib/mysql/ --p~mysql/mysql.pid --socket=/var/run/mysqld/mysqld.sock 113159 be/4 Debian-e 0.00 B/s 15.08 K/s 0.00 % 0.76 % mysqld --basedir=/usr --datadir=/var/lib/mysql/ --p~mysql/mysql.pid --socket=/var/run/mysqld/mysqld.sock 37939 be/4 Debian-e 0.00 B/s 3.77 K/s 0.00 % 0.20 % mysqld --basedir=/usr --datadir=/var/lib/mysql/ --pl~mysql/mysql.pid --socket=/var/run/mysqld/mysqld.sock
Co se tyka jadra, tak je pouzivame virtualizaci, ale ne vserver ale openvz. konkretne tam je 2.6.32-openvz-042stab104.1-amd64
ad sync - tak je to pravda ackoliv db je cela v pameti tak flushuje dirty stranky na disky(je tam docela dost zapisu). Ano ceka se na obe SSDcka nicmene tim ze nerotuji, a nemusi se u nich cekat az se nekam vystavi hlavicka, tak by se tim u nich nemela zvetsovat latence(snizovat IO/s), coz ostatne je videt i z vypisu vyse, kde maji oba uplne stejnou utilizaci.
Vrta mi to hlavou, protoze ta IO zatez po prechodu na SSD klesla uplne minimalne, a ty disky by mely zvladat desitky tisic 4KB IO za sekundu. Doufam, ze se takova hlava najde :) jinak asi budu muset koupit jeste dalsi SSDcka a v nejakem neprodukcnim serveru to otestovat.
commit=60
do fstab
a předpokládám, že noatime
tam už je. Zkusil bych se ptát iotop -obtqqq | grep jbd2
co se v průběhu děje. A možná se dá použít i echo 1 > /proc/sys/vm/block_dump
, kdy se monitorují veškeré diskové akce a z dmesg výstup vytáhnu. Tady opatrně. Určite je nutné vypnout log (tam se to zapisuje také a dostaneme se do smyčky)
...MD device je nad oddily, ktere zacinaji 2048 b od zacatku
vono to takhle uplne nestaci, obzvlast, kdyz mate partice > md > lvm > ext4, nakonec musi byt ty bloky v ext4 zarovnany treba na 2048b, nebo 4096b (pro jistotu)
pro vice informaci trebas
nakonec tam vlastne ani ty partice byt nemusi; jediny duvod pro ne je, aby se nepouzilo cele misto a na konci zbylo misto na over-provisioning
LVM je tam z jedineho duvodu - SNAPSHOTy - tzn zalohovani za behu.
Nemas nejaky dobry clanek o tom? Kdyz sam o sobe udelam partici na SSD mensi a zbytek nevyuzivam, tak to to SSDcko pouzije jako na overprovisioning?
Druhou veci je to, ze na FS je zaplneno jenom cca 13 procent mista, to ma taky vliv? Nebo je to jenom o te velikosti partition?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.