IBM RAD 7 и Websphere 6.1 работают медленно и не отвечают - PullRequest
8 голосов
/ 14 мая 2009

Как повысить производительность при локальной разработке с Websphere и RAD? Я использую одно веб-приложение умеренного размера (1000? Классов), и невозможно обрабатывать приложение локально в окне Windows. Конфигурация Websphere 6.1 использует конфигурации по умолчанию. RAD7 настроен для обработки максимальной кучи 1024 МБ. Я думал об увеличении кучи сервера. В настоящее время минимальное и максимальное значения составляют 128/300 МБ.

С точки зрения неотзывчивости, иногда загрузка страницы может занимать минуты, если она вообще загружается. Также я отключил «Автоматически строить» и «Автоматически публиковать». Может быть, те должны быть включены?

Ответы [ 7 ]

5 голосов
/ 14 мая 2009

Я не уверен насчет RAD7, но из моего прошлого опыта я бы предложил попробовать MyEclipse Blue .

Поскольку это может не быть вариантом, вот некоторые другие обычные преступники, вы можете проверить:

  • Сколько оперативной памяти у вашей машины? Хорошо отдать 1 ГБ ОЗУ, но если на вашем компьютере всего 1 ГБ ОЗУ, он может полностью поменяться. Если ваш начальник не заплатит за это, принесите ОЗУ за свои деньги. 2 ГБ - это менее 80 долларов за банкомат. Я предлагаю получить как минимум 4 ГБ. Да, Windows может использовать только 3,5 ГБ, даже если установлено 4, но эта половина ГБ стоит 20 долларов или меньше. Даже обдумывание этого в течение более пяти минут обойдется дороже, чем просто покупка.

  • Затем убедитесь, что вы используете правильные параметры Java GC. Там должна быть некоторая информация об этом в документах. Кроме того, убедитесь, что процесс использует «jvm.dll» из каталога «server», а не «client». « Process Explorer » поможет.

  • Поскольку я не использую RAD, я не уверен на 100% в «Автоматически создавать» и «Автоматически публиковать», но поскольку RAD7 основан на Eclipse, эти параметры будут компилировать код в фоновом режиме по мере ввода , Это значительно сократит время между сохранением вашего последнего изменения и моментом, когда сервер приложений сможет начать загрузку нового кода.

  • Когда ничего не помогает, запустите websphere в профилировщике и посмотрите, где он все время проводит.

4 голосов
/ 14 мая 2009

Аарон получил отличный совет.

Я бы также предложил использовать JConsole, чтобы увидеть, что происходит, чтобы помочь вам определить, требуется ли вам больше памяти, больший размер кучи и т. Д. Мой опыт работы с Websphere и RAD локально заключается в том, что это будет медленно, но потом был на старой машине, которая требовала больше памяти. :) http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

2 голосов
/ 10 августа 2009

Убедитесь, что ваша работа была в режиме разработки для вашей разработки и тестирования.

Опция находится под сервером в консоли.

Karl

2 голосов
/ 30 июля 2009

Я определенно согласен с Аароном Дигуллой. Вы увидите значительное улучшение производительности с 4 ГБ оперативной памяти, установленной на вашей машине для разработки. Я разработал плагин Eclipse / RAD с некоторыми моими друзьями, и мы смогли измерить, сколько времени мы сэкономили, обновив с 2 ГБ до 4 ГБ.

Плагин доступен здесь: http://lopb.org/

Собрав некоторые точные цифры о том, сколько времени мы потратили на публикацию и загрузку приложения на наших машинах разработки объемом 2 ГБ, мы смогли убедить руководство обновить остальных разработчиков в команде.

В любом случае, вам действительно стоит подумать об обновлении до 4 ГБ, если вы хотите запустить RAD 7 и Websphere 6 на одной машине для разработки. Каждому из них требуется -Xms = 512m -Xmx = 1024m, поскольку JVM требует, чтобы он работал хорошо, и это означает, что вы будете слишком сильно переключаться на диск, если у вас всего 2 ГБ ОЗУ или меньше. НТН

2 голосов
/ 23 мая 2009

Berlin

RAD 7 подстерегает ваш компьютер! Когда я использовал его для разработки портлетов, я следовал этому руководству по оптимизации , и это значительно ускорило разработку IDE в среде IDE. Очевидно, что оно нацелено на разработку портлетов, но может помочь вам.

Также, следуя совету, данному в ответе на , этот вопрос также поможет.

1 голос
/ 18 мая 2010

JConsole не будет работать без специального включения ее через переключатель командной строки JVM.

Предложения от Michael Wiles звучат разумно, но сначала обновите RAD до последней доступной FixPack.

Вы также можете обратиться в службу поддержки.

1 голос
/ 03 июля 2009

хе-хе, у нас была такая же проблема с RAD6 и Websphere 6.

Способ, которым мы ускорили, перенесен в Eclipse и JBoss.

Мы разработали на Eclipse и JBoss, а затем первый раунд тестирования был на Websphere. У нас были некоторые проблемы с различиями, но мы бы никогда не завершили проект, если бы не выход (намного меньше проблем, чем в RAD / WAS).

Но чтобы помочь вам в то же время ...

  1. Определенно, возможно, вы хотите автоматически строить и публиковать автоматически. Таким образом, вы можете внести кучу изменений, а затем сказать RAD, чтобы компилировать и развертывать, пока вы идете и получаете кофе.
  2. В Websphere есть «запуск в режиме разработки» (я знаю, что это было для 6.0), поэтому отследите его и включите (он где-то на консоли WAS)

  3. Я обнаружил, что замена WAS при замене стека работает довольно хорошо. Я обнаружил, что в начале дня я развертывался в WAS, а затем не должен был повторно развертывать по крайней мере до обеда (так как я отлаживал). Я внесу изменения, и изменения будут переданы на сервер без необходимости повторного развертывания.

  4. Скорее всего, даже после запуска профилировщика вы обнаружите, что ничего не можете поделать ..

  5. Отключите все проверки (в RAD), они имеют тенденцию занимать вечность.

  6. В зависимости от того, что вы делаете с EE, исследуйте возможность разработки другого комбо IDE / Server, возможно, вы сможете выполнить большую часть своей работы там и затем выполнить развертывание из RAD / WAS для окончательного тестирования. , Если вы используете vanilla ejb или веб-сервисы, это возможно.

  7. Эта максимальная куча звучит для меня немного маловато. Предложение запустить JConsole является хорошим, потому что оно скажет вам, сколько кучи используется, хотя я не уверен, будет ли она работать на IBM vm (RAD). Вы можете попытаться включить монитор использования памяти в RAD, он сообщает вам, сколько памяти используется, таким образом вы можете определить, достигает ли он максимума.

...