Hi all, I have a some problem with high gmirror I/O on one of my web servers. When I generate some copy/move/delete filesystem commands that leads to systems freeze on several seconds up to minute and over so I see big lag in SSH's console. The same thing happens when I try to import a big MySQL script (table about 3 M records) - very very slow, about 5000 records in one minute). It's a big problem for me and for my knowledge of FreeBSD system, I didn't find any solution anywhere. The server has several jails and two of them serve big amount of small files. That's what I have:
/usr/jails/httpd.server5 has a big amount of small files - images (nginx proxy cache), about one million. /usr/jails/service.server5 has a big amount of small files too - PHP's Zend cache, 500 K-800 K files, don't know exactly
/usr/jails/service.server5/var/www/images - about one million small files (images)
When I perform some action on the filesystem, clean up /var/www/images for example (
Can anyone advise me something to improve that situation? Do I have a bottleneck at filesystem tuning or gmirror (I'll provide any additional info if need)?
Code:
root@server5:/root # uname -a
FreeBSD server5 9.1-RELEASE FreeBSD 9.1-RELEASE #1 r254677: Fri Aug 23 03:02:49 CEST 2013 root@server5:/sys/amd64/compile/WH amd64
Code:
root@server5:/root # gmirror status
Name Status Components
mirror/gm0 COMPLETE
ada0 (ACTIVE)
ada1 (ACTIVE)
root@server5:/root # gmirror list
Geom name: gm0
State: COMPLETE
Components: 2
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 3954888687
Providers:
1. Name: mirror/gm0
Mediasize: 3000592981504 (2.7T)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r2w2e3
Consumers:
1. Name: ada0
Mediasize: 3000592982016 (2.7T)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: DIRTY
GenID: 0
SyncID: 1
ID: 2336097205
2. Name: ada1
Mediasize: 3000592982016 (2.7T)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: DIRTY
GenID: 0
SyncID: 1
ID: 2137211893
Code:
root@server5:/root # mount
/dev/mirror/gm0p3 on / (ufs, local, noatime, soft-updates)
devfs on /dev (devfs, local, multilabel)
/usr/jails/basejail on /usr/jails/php.server5/basejail (nullfs, local, read-only)
devfs on /usr/jails/php.server5/dev (devfs, local, multilabel)
fdescfs on /usr/jails/php.server5/dev/fd (fdescfs)
procfs on /usr/jails/php.server5/proc (procfs, local)
/usr/jails/basejail on /usr/jails/mysql.server5/basejail (nullfs, local, read-only)
devfs on /usr/jails/mysql.server5/dev (devfs, local, multilabel)
fdescfs on /usr/jails/mysql.server5/dev/fd (fdescfs)
procfs on /usr/jails/mysql.server5/proc (procfs, local)
/usr/jails/basejail on /usr/jails/httpd.server5/basejail (nullfs, local, read-only)
devfs on /usr/jails/httpd.server5/dev (devfs, local, multilabel)
fdescfs on /usr/jails/httpd.server5/dev/fd (fdescfs)
procfs on /usr/jails/httpd.server5/proc (procfs, local)
/usr/jails/basejail on /usr/jails/service.server5/basejail (nullfs, local, read-only)
devfs on /usr/jails/service.server5/dev (devfs, local, multilabel)
fdescfs on /usr/jails/service.server5/dev/fd (fdescfs)
procfs on /usr/jails/service.server5/proc (procfs, local)
/var/www/images on /usr/jails/service.server5/var/www/images (nullfs, local)
/var/www/images on /usr/jails/httpd.server5/var/www/images (nullfs, local)
/usr/jails/httpd.server5 has a big amount of small files - images (nginx proxy cache), about one million. /usr/jails/service.server5 has a big amount of small files too - PHP's Zend cache, 500 K-800 K files, don't know exactly
/usr/jails/service.server5/var/www/images - about one million small files (images)
When I perform some action on the filesystem, clean up /var/www/images for example (
find . -type f -print -delete or rm -rf .), it leads to big lags for all other processes. I know that is normal situation to have some stress for HDD in this case, but I wait about 10 hours and process was not ended and at the same time I saw that access to Zend's cache files takes over 30-60 sec. I had to break it.Can anyone advise me something to improve that situation? Do I have a bottleneck at filesystem tuning or gmirror (I'll provide any additional info if need)?