We have developed and deployed WCF services on Windows 2003 64 bit R2 edition with 4 GB RAM. The database we are using is Firebird 1.5/2.x. My application database operations like plain select or insert causes too much delays on the server when compared to Windows xp. We hosted the WCF as WoW in IIS (running 32 bit mode applications in 64 bit server).
We have earlier used Developer Express XPO (Object Relational Mapper) and even after we converted thos开发者_开发问答e queries to plain ADO.NET, no significant improvement.
When checked through dotTrace profiler, it appears that the Receive operation of System.Net.Socket.Receive (Bye[], Int32...) operation causes the delay for around 4 seconds and it appears that it could be because of some I/O or TCP delay.
I have read some posts about reducing the TCPAckFrequency delay from 200 ms to instant and not sure if that helps here.
Not every INSERT/SELECT operations are delayed but most of them are delayed when compared to Win XP with 1 GB RAM
Can you explain your environment a bit more please? The Windows XP machine sounds like it was a development machine with both Database and Server code on the same machine?
Also, the windows server setup I assume you have a separate application server and database server?
I don't know what Firebird is and have no experience with that. Does it use the same ports as SQL Server?
精彩评论