я запускаю стороннее приложение RMI-Server, предоставляющее только один метод ("getImage()" returns an image as byte[]).
Реализация этого метода (получение изображения через SOAP-WS) предоставлена мной.
Проблема при запуске этого RMI-сервера заключается в высоком потреблении процессора (измерено с помощью jvisualvm): 65% времени процессора уходит на "sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()"
, а на втором месте с 15% находится "sun.net.www.http.KeepAliveCache.run()"
. «Настоящая» работа (масштабирование изображения) стоит на 4 месте. Сервер работает на Win 2003 Server. Я предполагаю, что что-то не так с обработкой ресурсов/соединений?? но это проблема реализации или проблема конфигурации Windows?
другое наблюдение: если загрузка процессора высока, использование памяти также увеличивается - вопрос в том, связано ли это с тем, что сборщик мусора не может выполнять свою работу или многие изображения ожидают доставки. все, что я могу сказать, память используется для byte[]
.
так есть идеи что делать?
спасибо заранее