I'm not convinced the problem is with sockets. You aren't getting a problem with the other web app in the same VM/servlet container.
I would look at any issues with JDBC and perhaps start looking at any information you can get out of the JVM - garbage collection, memory profile. Try jmemprof (freeware) or Jprobe to help.
But probably do the simple thing first to debug where the slowdowns are occurring - some System.out.println or log4j statements would be useful. Possible areas are definitely execution of JDBC SQL, JMS if you are using it, and GC. But it is not limited to these areas.