While doing load testing on our application using load testing tool open sta, We found that when 50-100 concurrent users access it , 20-30 records get inserted. The tool does not give any reason why the other transactions are rolled back. When I tried db2 list applications show detail, there were some locks waiting. I got a snapshot of the locks , changed the locking on tables used for reading to table level lock, But still there was no significant improvement. For the queries accessing only read only tables , I added the clause for read only. I increased statement heap size ,max appls , locksize and max locks according to the guidelines in the db2 documentation and discussing with some dbas. I changed the websphere connection pool timeout parameters for our datasource. Now there are no locks but out of 100 concurrent users hitting the application at a single point in time, only 40-50 are inserted. When I list applications, some are shown as connect completed and many are shown as uow waiting for a long period of time. I tried changing isolation level to Uncommited read using the command
Change isolation to ur.But no improvement.
Any Sugestions? Pl help as this is very critical