Re: Разница в производительности приложения на Windows и Lin
От: pagrus  
Дата: 29.08.08 10:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Всем привет!

А>Столкнулся с такой проблемой: тестировали приложение на выделенной машине (ос windows xp) — всё хорошо, работает быстро. Установили на сервер заказчика — работает значительно медленнее (в 2-3 раза). Веб-контейнер — Tomcat 5.5, jdk 1.6 update 10 (под windows jdk более старой версии, но врятли из-за этого может быть такая разница в производительности). Приложение БД не использует. Логгирование показывает что тормозит абсолютно все операции (т.е. каждая операция выполняется в 2-3 раза медленее, а не на каких-то отдельных).
А>Даже не знаю в какую сторону двигаться, очень нужна помощь.

Я бы советовал профайлить и тестировать.
Важный вопрос — проблемы с производительностью на уровне вашего приложения? Или JVM? Или операционной системы? Выясните, после этого станет понятнее что делать. Профайлер и собственные мини-тесты в этом помогут.

Например, осли проблемы окажутся на уровне ОС, то во многих ситуация решение ложится на заказчика. "У вас проблема с сервером, и вот почему мы так считаем:...". Или вы брали на себя обязательство настраивать и поддерживать его серверы? Кстати, в такой ситуации можете это предложить за отдельные средства. Если вам это нужно.

Если на уровне приложения (выглядит маловероятным) — чините.

Если JVM (также выглядит маловероятным) — действуйте по обстановке, т.е. исходя из природы тормозящих операций. Вариантов немного, в основном конфигурация параметров JVM.
При этом важно помнить, вы не отвечаете за проблемы java под определённой ОС. Вы можете поиграться конечно с разными версиями jdk, но если это не помогает — советуйте заказчику обратиться в службу поддержки Sun. Предоставьте входную информацию для этого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.