I am looking for some guidance on how to improve the performance of an application using Sybase ASE 15.5. The application is a java application which has been successfully fielded on multiple databases (Oracle, SQL Server, DB2, PostgreSQL) but has only been recently been ported to work with Sybase.
After having many performance issues with insertion speed, I have written a test program which mimics the applications behavior. The app creates a single jdbc database connection (using JConnect 7) and inserts 10,000 objects into the database with transactions demarcating every 100 objects. Each object composes 11 rows across 4 tables - (1 for table A, 1 for table B, 8 for table C and 1 for table D). The test application (and the actual application) insert "objects" at a rate of approximately 30 objects/second. On the same hardware I get object insert rates above 200 objects/second with Oracle. I believe I have some incompatibility or tuning issue with Sybase and so am hoping for some guidance.
The sp_sysmon output from a run is attached below. I am particularly concerned with the high context switches due to network send/receive and am puzzled by the unpin causing ULC flushes. It was my understanding that unpin would be caused by page collision across transactions -- yet my test app is only using a single connection with only a single transaction open at a time.