Назад | Перейти на главную страницу

Centos 6 и Centos 7: производительность доступа к файлам

Мне нужна помощь в попытке выяснить, что может объяснить, что Centos 7 медленнее при доступе к файлу, чем Centos 6. Разница составляет примерно 17%.

Вот простой тест:

[root@test-centos6 shm]# time for i in $(seq 0 50000); do stat file > /dev/null; done

real    0m42.283s
user    0m2.465s
sys     0m4.434s
[root@test-centos6 shm]# time for i in $(seq 0 50000); do stat file > /dev/null; done

real    0m41.890s
user    0m2.442s
sys     0m4.341s
[root@test-centos6 shm]# time for i in $(seq 0 50000); do stat file > /dev/null; done

real    0m41.795s
user    0m2.383s
sys     0m4.310s

----

[root@test-centos7 shm]# time for i in $(seq 0 50000); do stat file > /dev/null; done

real    0m49.081s
user    0m16.306s
sys     0m32.639s
[root@test-centos7 shm]# time for i in $(seq 0 50000); do stat file > /dev/null; done

real    0m48.379s
user    0m16.034s
sys     0m32.191s
[root@test-centos7 shm]# time for i in $(seq 0 50000); do stat file > /dev/null; done

real    0m48.054s
user    0m15.680s
sys     0m32.245s

strace, похоже, подтверждает, что C7 выполняет больше операций на статистику, чем C6.

[root@test-centos6 shm]# strace stat file 2>&1 | wc -l
145

[root@test-centos7 shm]# strace stat file 2>&1 | wc -l
168

Кто-нибудь знает, как уменьшить количество операций для C7, чтобы perfs были более встроены в C6?

Спасибо,

//РЕДАКТИРОВАТЬ:

Я поместил оба файла в / dev / shm, чтобы устранить возможную разницу между xfs / ext4. Это 2 идентичные виртуальные машины на одном хосте ESX, только с другой ОС. (но я наблюдал такую ​​же разницу и на аппаратных коробках, просто использовал эти виртуальные машины для текущего тестирования)

Strace C6: https://paste.fedoraproject.org/paste/oCSUZqKgcoNLJubjeNbo9V5M1UNdIGYhyRLivL9gydE= Strace C7: https://paste.fedoraproject.org/paste/PvTXvxxvS~2UZ9LuuSVAA15M1UNdIGYhyRLivL9gydE=

Я бы предположил, что новый C7 будет иметь лучшие характеристики в исходной форме, а не хуже.

[root@test-centos6 shm]# uname -r
2.6.32-642.el6.x86_64
[root@test-centos6 shm]# getenforce
Disabled

[root@test-centos7 shm]# uname -r
3.10.0-514.6.1.el7.x86_64
[root@test-centos7 shm]# getenforce
Disabled

В stat Утилита различается между CentOS6 и CentOS7. Для подтверждения попробуйте выдать stat --version на обеих машинах.

Новый strace версия, пожалуй, более сложная. Например, из вашего strace вывод, похоже, что CentOS7 strace карты libpcre.so.1 (библиотека регулярных выражений), а CentOS6 strace не.

В любом случае, это, по сути, стандартный тест: чтобы по-настоящему оценить скорость доступа к файлам / манипуляций, вы должны использовать такие инструменты, как fs_mark или, что еще лучше, какой-нибудь реальный тест (например, распаковать большой архив).

Это совершенно разные операционные системы с разными ядрами, скомпилированными значениями по умолчанию, файловыми системами, планировщиками и возможностями настройки.

Как вы думаете, почему они должны действовать одинаково? Придется многое учесть, поэтому на этот вопрос будет сложно ответить в его нынешней форме.