Я разрабатываю веб-приложение (используя JBoss и Icefaces), которое использует сервлет для создания файла Excel или PDF и отправляет его в браузер.
Но у меня возникают проблемы с производительностью после вызова сервлета, что приводит к постоянно высокому (~ 50%) потреблению процессора браузером. Тестируйте в Firefox и Internet Explorer на разных машинах. Высокая загрузка процессора возникает с небольшой задержкой (полминуты) после вызова сервлета и остается высокой (пока я не закрою браузер или не перезагружу страницу). Загружу ли я созданный файл или открою его напрямую, не имеет значения.
Я без понятия, как это может произойти...
Есть ли способ проанализировать/отладить браузер, чтобы выяснить, что вызывает потребление процессора?
ОБНОВЛЕНИЕ:
Я узнал, что это определенно связано с веб-приложением Icefaces. Когда я заменяю свою прямую html-ссылку на свой сервлет вызовом javascript, который открывает сервлет в новом окне (с помощью window.open), я могу без проблем загрузить созданный файл.
Кроме того, когда я выхожу из своего приложения, использование ЦП снова возвращается к норме!
ОБНОВЛЕНИЕ:
Хорошо, теперь мне помог Firebug: после вызова сервлета я вижу в консоли Firebug, что каждые миллисекунды есть XMLHtppRequests. Теперь я могу понять загрузку процессора!
POST http://localhost/webapp/block/receive-updated-views
идет дальше и дальше. Надо это проверить...
ОБНОВЛЕНИЕ: Хорошо, я нашел тему Iceface (с соответствующей ошибкой jira iceface), но багтрекер утверждает, что это уже должно быть исправлено... как-то не для моего случая!