Обеспечение целостности данных между получением многоадресных данных и записью данных в файл - PullRequest
0 голосов
/ 09 марта 2020

У меня есть приложение java, которое имеет поток чтения, который получает многоадресные данные от нескольких интерфейсов и сохраняет внутренний буфер через LinkedBlockingQueue. Конструкция основана на ожидании / уведомлении, когда поток считывателя после получения данных уведомляет поток записи, чтобы затем обработать полученные данные и записать в файл, который позднее сжимается по NFS.

Однако, похоже, существует узкое место, поскольку существует отдельная временная задача, контролирующая «тест пропускной способности». Этот тест пропускной способности вычисляет совокупные байты, полученные от всех интерфейсов, и байты, записанные на диск за период 5 секунд. Значение rat ios между скоростью чтения и скоростью записи на диск отключено.

Как я могу на самом деле измерить, если считываемые данные на самом деле все записаны и действительно ли существует узкое место? Есть ли лучший способ измерения скоростей чтения и записи?

...