У меня есть простое приложение maven JSP / Servlet, которое позволяет пользователю загружать архивный файл. Затем приложение распакует архив, содержащий файлы XML, и проанализирует их, используя базовый синтаксический анализ SAX. Он сгенерирует представление этих файлов в памяти и запишет их в базу данных Neo4J Graph, которая в настоящее время находится во встроенном режиме.
Во время разработки я использовал GlassFish v3, но с приближением производства был сделан запрос на переход с Glassfish на Tomcat, что я и сделал. Помимо нескольких небольших проблем с Tomcat, вынуждающих меня добавлять зависимости JSF, несмотря на то, что я не использую JSF, у меня есть одна большая проблема с банкоматом Tomcat.
Самый большой тестовый файл, который у меня есть, загружается и анализируется на Glassfish v3 примерно за 8 секунд. После этого это займет примерно на 2 секунды меньше из-за того, что я не очищаю загруженный файл (пока).
Тот же файл на Tomcat7 в первый раз загружается и обрабатывается примерно за 90 секунд. В других случаях это занимает примерно на 20 секунд меньше, предположительно по той же причине.
В любом случае разница в производительности составляет 10 раз. Я немного удивлен, так как я думал, что использование Tomcat на самом деле увеличит скорость из-за того, что он более легкий, чем Glassfish, поскольку я на самом деле не использую расширенный функции, предоставляемые Glassfish.
Кто-нибудь сталкивался с подобной проблемой, и что вы сделали для ее решения? Это вообще разрешимо, или это связано с тем, как работает Tomcat ...
РЕДАКТИРОВАТЬ: разница, похоже, заключается в разделе кода, который отвечает за запись представления файлов в памяти в фактическую базу данных ... Понятия не имею, почему ...
1 ответ
Мне не удалось найти сравнение Tomcat с Glassfish, но да, новые версии Glassfish очень легкие и имеют очень хорошую производительность. Я испытал то же самое. Я полагаю, что запуск сервера приложений вместо Tomcat - это больше не огромные административные и аппаратные траты (и вы можете использовать легкие EJB 3 и 3.1, если хотите). Установки Glassfish могут быть очень маленькими по размеру, если вы выберете только необходимые модули.
Проверить эту страницу. Он сравнивает Jboss, Glassfish и Resin.
http://hwellmann.blogspot.com/2011/06/java-ee-6-server-comparison.html
И здесь сравниваются Glassfish 3.1 и Jboss 6 и 7.
http://hwellmann.blogspot.com/2011/10/jboss-as-7-catching-up-with-java-ee-6.html
Похожие вопросы
Новые вопросы
performance
По вопросам, касающимся измерения или улучшения кода и эффективности приложений.