Почему параллельное добавление нескольких файлов снижает пропускную способность записи? - PullRequest
0 голосов
/ 30 ноября 2018

Я занимаюсь разработкой приложения для хранения файлов, которое должно обрабатывать несколько файлов параллельно.Размер каждого файла составляет около 1 ГБ.Все они просто добавляются, без случайного написания.Однако при тестировании пропускной способности записи я обнаружил, что максимальная пропускная способность записи (около 500 МБ / с) достигается, когда число параллельных файлов составляет 10 ~ 15.Продолжение Увеличение количества файлов уменьшит пропускную способность записи.Когда номер файла равен 500, производительность записи составляет примерно половину пиковой производительности (всего 250 МБ / с).

Операционная система - Centos7.Локальная файловая система - xfs, построенная на raid5 с 5 жесткими дисками.Наблюдая за состоянием системы, я уверен, что она не связана с процессором.Возможно, это связано с тем, что добавление большого количества файлов может привести к случайной записи, но известно, что у xfs есть отложенное выделение (https://en.wikipedia.org/wiki/Allocate-on-flush) функция, которая выделяет дисковые блоки при сбросе. Я думаю, что это отложенное выделение может предотвратить снижение производительностикогда несколько файлов растут одновременно.

Может кто-нибудь сказать мне, какие факторы могут влиять на пропускную способность записи при параллельном добавлении нескольких файлов? Было бы здорово, если бы кто-нибудь подскажет мне, как улучшить пропускную способность записи, когдаобработка большого количества добавляемых файлов.

...