2011-06-14 18 views
0

Как повысить производительность приложения. Мое приложение написано с использованием Java, Hibernate, Servlets, Wsdl, которые я использовал для веб-сервисов. Я выполнил некоторые тесты на машине linux, так что я могу получить правильный TPS для выполнения.Как повысить производительность приложения

но все же, я не удовлетворен производительностью.

Итак, для чего все шаги я должен попытаться увеличить производительность.

, добавив выше, я выполнил покрытие кода и использовал ошибки поиска в коде для каждого теста и каждой службы, которую я написал.

Приглашаются индивидуальные предложения.

Спасибо.

+0

Ну, если вас не устраивает производительность, вы попытались выяснить, где это было неудовлетворительно. Боюсь, что ваше выступление получилось как разглагольствование. –

+0

Что именно вы делали для измерения производительности? Существуют ли какие-либо конкретные проблемы с производительностью, которые вы пытаетесь решить? Что именно делает ваше приложение? – abalogh

ответ

3

Профилируйте свою заявку и удалите все ваши узкие места.

Кроме того, или лучше, прежде чем, пройдите день или два и прочитайте как можно больше из бюллетеней Java Performance Tuning, как вы понимаете.

0

Является ли производительность связана с дисковым вводом/выводом или сетевым вводом/выводом? В высокопроизводительной системе (с точки зрения БД) Hibernate, возможно, не лучший способ. Если у вас много записей, я бы рекомендовал использовать другой механизм для записи в базу данных - возможно, просто переход на простой JDBC может ускорить его? Во-вторых, это ваш случай, когда ваши веб-службы слишком долго возвращаются с результатами? SOAP - это не самые быстрые протоколы - вы смотрели что-то вроде REST, возможно, вместе с JSON?

+0

Для сервлета, чтобы обслуживать поток выполнения, я использую только JSON. Я использую wsdl в случае, когда другая система вызывает часть моего сервиса. –

+0

и измерены ли сетевые отключения для каждого запроса, JSON или WSDL? – Liv

+0

, как в JSON, я понял, но как мы можем измерить WSDL? –

1

Вы должны контролировать свое приложение с помощью инструмента, такого как VisualVM, JProfiler и т. Д., Чтобы определить узкие места производительности. Бесполезно настраивать приложение, не зная, где находятся фактические проблемы с производительностью.

В профессиональной среде я предлагаю dynaTrace, что может показать узкие места производительности по пути выполнения. Инструмент может показать вам, где приложение тратит свое время.

+0

Я использовал VisualVm для выяснения, сколько времени занимает каждое критическое обращение с сервисами и базами данных. С такой статистикой я могу сказать, что я немного доволен сервисом, но недоволен образами базы данных. –

+0

По крайней мере, вы узнали, что нужно настраивать. Руководства по настройке базы данных доступны для всех основных баз данных. Иногда создание недостающего индекса достаточно для проблемы. – Daniel

+0

Например, [http://stackoverflow.com/questions/2980359/web-page-database-query-optimization](http://stackoverflow.com/questions/2980359/web-page-database-query-optimization) включает некоторые предложения по сокращению числа хитов. В общем, я бы предложил кэширование как хороший способ уменьшить число попаданий в базу данных. – s106mo

Смежные вопросы