У меня есть приложение java, которое имеет поток чтения, который получает многоадресные данные от нескольких интерфейсов и сохраняет внутренний буфер через LinkedBlockingQueue. Конструкция основана на ожидании / уведомлении, когда поток считывателя после получения данных уведомляет поток записи, чтобы затем обработать полученные данные и записать в файл, который позднее сжимается по NFS.
Однако, похоже, существует узкое место, поскольку существует отдельная временная задача, контролирующая «тест пропускной способности». Этот тест пропускной способности вычисляет совокупные байты, полученные от всех интерфейсов, и байты, записанные на диск за период 5 секунд. Значение rat ios между скоростью чтения и скоростью записи на диск отключено.
Как я могу на самом деле измерить, если считываемые данные на самом деле все записаны и действительно ли существует узкое место? Есть ли лучший способ измерения скоростей чтения и записи?