Време за изчакване на Java nio socket, когато буферът е пълен

Използвам java nio socket за комуникация. Когато скоростта на публикуване на съобщения е висока, буферът за запис се запълва и процесът трябва да изчака следващото време за запис. Честотата на пълен буфер за изпращане е висока. Неизпратеният буфер е поставен в опашка. Измервам закъснението end2end на моите експерименти, отнема ~900 ms. В същото време измервам разликата между времето за излизане от опашка на неизпратен буфер и времето за поставяне на опашка на същия буфер. Откривам, че отнема стотици милисекунди.

Тогава как да намалим времето за изчакване за следващото време за запис? Windows XP е инсталиран на моите машини и проектът е Java код.

Надявам се, че хората, които имат много нио и системни експерименти, могат да помогнат. Благодаря.


person susan    schedule 18.11.2011    source източник


Отговори (1)


Буферът за изпращане се запълва, когато равноправният четец чете бавно. Не можете да направите нищо по въпроса, освен да ускорите процеса на партньорско четене. Нищо не можете да направите в края на изпращането.

person user207421    schedule 19.11.2011