• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Knute Snortum
  • Bear Bibeault
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • Piet Souris
  • Ganesh Patekar
Bartenders:
  • Frits Walraven
  • Carey Brown
  • Tim Holloway

WS 5.x versus WS 4.x and threads in servlets

 
Ranch Hand
Posts: 1067
2
IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So I have an application which runs fine in WS 4.0.1 Porting it into WS 5.1 we have strange problems. It appears that connections are not being freed, open file handles for WS user increases, which cases IHS to keep making more kids, until the whole machine is trashed.

The application has a servlet which creates a thread to determine if backend data sources are available. Every so many seconds the thread wakes up and tries to ping.

As I understand the world the new version of WS uses a new version of the Servlets specification does anyone know if this would make my servlet behave differently?
 
Ranch Hand
Posts: 776
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Connections? You mean DB connections?

Did the Connection Pool settings get copied from the 4.x environment?

There are some new 5.x settings that may have inappropriate defaults for your app.

We just finished a 4->5 upgrade, and it was not particularly pretty.

We had problems with:

-CLASSLOADER policies. Default in 5 seems exactly backwards than in 4.

-Default XML parser

-LOG4J

All configuration issues really, but they took time to figure out.

We has a "performance" problem. The contractors doing the 5 install tried to point the finger at the app, which had not changed significantly in about 10 months, and ran fine under 4.

We wrote a servlet that did nothing but sleep for 1 second. Loaded up the two environments running only that servlet, and got some metrics. So ..... net result is that 5 absolutely needs tuned after you initially install it.

-----------------------------

If you are unable to get TCP connections, and are exceeding max open files (a Unix box I presume), you need to tune your TCP stack and the OS:

-Time sockets spend in CLOSE_WAIT status

-The OS value for 'ulimit -n' needs to be looked at. IBM makes certain recommendations for WAS, and many OS's have lower defaults.

Hope some of this helps.

Guy
 
William Barnes
Ranch Hand
Posts: 1067
2
IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
> Connections? You mean DB connections?
No, socket connections.

> Did the Connection Pool settings get copied from the 4.x environment?
We are not using a connection pool.

> There are some new 5.x settings that may have inappropriate defaults for your app.
Do you have any examples? Or a referance which goes into detail?

Does your application make any threads?
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!