|
|
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, всем! Есть web-приложение, основанное на сервлетах и СУБД FireBird. Оно работает под JBoss 4.0 и супер-сервером FireBird 1.5.3, установленном как сервис. Все, включая базы, располагается на одной машине. После того, как многократно расширился список пользователей (перешли в промышленную эксплуатацию), приложение периодически зависает. Во время зависания любая операция выполняется бесконечно долго и не приводит к результату. Особенно это происходит в часы пик, когда в приложении разом работают много пользователей. Помогает только перезагрузка JBoss. Ранее при опытной эксплуатации с маленьким числом пользователей такого не происходило. Через web-консоль было замечено, что зависание происходит, когда число потоков JVM Environment приближается или превышает определенное количество. В этот момент в разделе Tomcat status той же консоли плодится куча потоков типа Service и ни один из них не завершается. Может, кто сталкивался с такой ситуацией? По этой проблеме связывался с разработчиком приложения, и он ответил, что причина в настройках JBoss, но конкретно подсказать не смог. Помогите, плиз, решить проблему, а то перезагрузка минимум два раза в день уже напрягает. С уважением, Семен Попов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 10:19:46 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
может стоит jboss-у больше памяти дать? а в логах что пишется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 10:42:53 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Сразу возникло такое предположение, потому как вроде происходит переполнение. Но в консоли JBoss видно, что ее достаточно: "Free Memory: 202 MB Max Memory: 508 MB Total Memory: 254 MB #Threads: 148". Тем более, что сервер, на котором крутится JBoss имеет 1Gb оперативки, и кроме JBoss там ничего больше не установлено. Прикладываю, фрагмент лога сервера примерно с того времени, как произошло зависание. Обращаю внимание на текст: "2007-02-02 16:06:21,430 INFO [STDOUT] org.firebirdsql.jdbc.FBSQLException: Problem getting connection: javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] )". Чтобы он мог значить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:04:51 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Сразу возникло такое предположение, потому как вроде происходит переполнение. Но в консоли JBoss видно, что ее достаточно: "Free Memory: 202 MB Max Memory: 508 MB Total Memory: 254 MB #Threads: 148". Тем более, что сервер, на котором крутится JBoss имеет 1Gb оперативки, и кроме JBoss там ничего больше не установлено. Прикладываю, фрагмент лога сервера примерно с того времени, как произошло зависание. Обращаю внимание на текст: "2007-02-02 16:06:21,430 INFO [STDOUT] org.firebirdsql.jdbc.FBSQLException: Problem getting connection: javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] )". Чтобы он мог значить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:07:49 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
это значит что в пуле нет свободных соединений. возможно связано с тем, что какой-нить запрос вешает БД (у нас такое бывает иногда). попробуйте увеличить размер пула. посмотрите сессии в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:09:52 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Спасибо за отзыв. Я поискал, где можно подкрутить размер пула. Вот, что нарыл: 1. Файл firebird.conf сервиса FireBird, где имеется параметр DeadThreadsCollection = 50 - "# Number of cycles of the scheduler (PrioritySwitchDelay ms) before # thread are destroyed/closed. Rather than immediately destroy/closed # worker threads (which would require a semaphore and blocking call -- # significant overhead), the thread scheduler maintains a pool of the # threads. When a thread has completed it's task/work, it is marked as # idle. The idle thread is destroyed/closed after X iterations of the # scheduler loop. # # For a server with a very large number of connections (presumably more # than several hundred) the setting value should be increased. # # The setting represents the number of loop iterations to be made before # the thread is destroyed/closed. # # Type: integer # #DeadThreadsCollection = 50". 2. Файл jboss-service.xml, где имеются такие параметры как MaximumPoolSize=10 (The max number of threads in the pool), MaxPoolSize=300, ClientMaxPoolSize=300. 3. Файл firebird-ds.xml, где имеются параметры для каждого jndi: "<min-pool-size>1</min-pool-size> <max-pool-size>200</max-pool-size>" Какие из них можно крутить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:34:24 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
последнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:40:12 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Спасибо. Будем пробовать. Результаты сообщим. Кстати, а зачем нужет параметр "min-pool-size"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:44:57 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
ну пул - это просто коллекция (Collection) ресурсов. При старте Jboss заполнит ее минимальным значением (чтоб зря память не есть), а потом, по мере надобности будет увеличивать. А минимум необходим, чтоб не тратить время на создание ресурса в момент его запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:48:05 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Премного благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:49:54 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Сообщаю результаты. Вообщем, уже два дня работаем после увеличения размера пула соединений - зависание не было замечено. Ранее я уже пробовал крутить этот параметр, но, видимо, мало увеличивал, и это не давало результата. Огромное спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 17:10:51 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Semen PopovСообщаю результаты. Вообщем, уже два дня работаем после увеличения размера пула соединений - зависание не было замечено. Ранее я уже пробовал крутить этот параметр, но, видимо, мало увеличивал, и это не давало результата. Огромное спасибо за помощь. А сколько ставил?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 04:28:27 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
У меня такая же проблема. Когда было мало пользователей, всё работало. Щас ваще заё..... полный, приходится перегружать БОССА 2-7 раз в ЧАС, хоть вешайся. Я заметил что он ещё и FireBird грузит. Из-за него ни одна прога к FireBird' овским базам не коннектится, перегрузишь и всё нормально становится. Помогите кто знает, может есть ещё другие решения, кроме выше изложенных. Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 04:43:04 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
НиколахаУ меня такая же проблема. Когда было мало пользователей, всё работало. Щас ваще заё..... полный, приходится перегружать БОССА 2-7 раз в ЧАС, хоть вешайся. Я заметил что он ещё и FireBird грузит. Из-за него ни одна прога к FireBird' овским базам не коннектится, перегрузишь и всё нормально становится. Помогите кто знает, может есть ещё другие решения, кроме выше изложенных. Спасибо!!! Дамп потоков сделай и посмотри блокировки чтобы найти чего все ждут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 09:07:45 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
В этот момент уже не работает. Сами JSP открываются, но видимо когда начинаешь обращаться к данным ничего не получается. Эксплорер думает, думает и всё!!! JBoss console 09:03:47,812 INFO [STDOUT] at java.lang.Thread.run(Thread.java:595) 09:03:47,812 INFO [STDOUT] FlexWorkflow: Error on geting task information 09:04:16,468 INFO [STDOUT] FlexWorkflow: Clear cache (21 instances) 09:04:19,281 INFO [STDOUT] FlexWorkflow: Clear cache (100 instances) 09:04:29,343 INFO [STDOUT] FlexWorkflow: Close connection 09:04:46,453 INFO [STDOUT] Exception in thread "Cache auto delete" 09:04:46,453 INFO [STDOUT] java.lang.NullPointerException .................. ................. .................. 09:07:38,546 INFO [STDOUT] FlexWorkflow: Clear cache (22 instances) 09:07:40,093 INFO [STDOUT] FlexWorkflow: Clear cache (100 instances) 09:07:52,546 INFO [STDOUT] FlexWorkflow: Clear cache (100 instances) 09:08:16,468 INFO [STDOUT] FlexWorkflow: Clear cache (72 instances) 09:08:19,421 INFO [STDOUT] FlexWorkflow: Clear cache (1 instances) 09:08:20,234 INFO [STDOUT] FlexWorkflow: Clear cache (103 instances) 09:08:24,515 INFO [STDOUT] FlexWorkflow: Clear cache (7 instances) 09:08:27,750 INFO [STDOUT] FlexWorkflow: Clear cache (218 instances) 09:08:41,671 INFO [STDOUT] FlexWorkflow: Clear cache (100 instances) 09:08:54,250 INFO [STDOUT] FlexWorkflow: Clear cache (62 instances) 09:09:08,312 INFO [STDOUT] FlexWorkflow: Clear cache (100 instances) 09:09:11,906 INFO [STDOUT] FlexWorkflow: Clear cache (99 instances) 09:09:33,750 INFO [STDOUT] FlexWorkflow: Clear cache (106 instances) 09:10:35,234 INFO [Server] JBoss SHUTDOWN: Undeploying all packages 09:10:35,234 INFO [EJBDeployer] Undeploying: file:/C:/JAVA/JBOSS/server/default /tmp/deploy/tmp47630corporateApplication.ear-contents/EJBModules.jar 09:10:35,250 INFO [EARDeployer] Undeploying J2EE application, destroy step: fil e:/C:/JAVA/JBOSS/server/default/deploy/corporateApplication.ear 09:10:41,671 INFO [STDOUT] FlexWorkflow: Clear cache (64 instances) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 08:09:20 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Тут вообще кто-нибудь живой есть!? Неужели никто не знает?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 10:56:21 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
что за Flex? адобовский? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 11:05:11 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
Deady что за Flex? адобовский? Posted via ActualForum NNTP Server 1.4 flexWorkflow это модуль, приложение которое и тупит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 04:05:00 |
|
||
|
JBoss 4.0 & FireBird 1.5: Зависание приложения
|
|||
|---|---|---|---|
|
#18+
самописное? пилите его в сторону оптимизации. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 09:52:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34305536&tid=2144888]: |
0ms |
get settings: |
13ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
55ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 316ms |
| total: | 520ms |

| 0 / 0 |
