1.Don't use socket server - it's a bottleneck. Either rewrite it or use DCOM.
2.Use tmFree threading.do
n't believe what you have read or heard about the requirement to use tmApartment threading.
3.Use a SMP system. If you run a with 60+ connections (60+ threads), the overhead of context switches will kill your system.
More CPUs = less context switching. I typically use a 4 way system with the config described in #5.
4.Use a third party memory manager. Reduces context switching and page faults. Editor's note: Here's one.
5.If you use a SMP system, place the DataSnap server and the InterBase server on the same box. I typically gain a 100%
increase in performance by avoiding the overhead of network traffic this way.
If you use a 4 way system, dedicate 2 CPUs to the DataSnap server and 2 to the InterBase server.
This will further reduce context switching, but you should experiment with this config as your load
distribution may be different than mine.
以上为转贴
实际中还没遇到什么问题,我现在刚进的公司全是用socket做连接的,没见他们反映有什么问题(并发的最大数量为50),不过他们是ShareConnection+SocketConnection.
我看过一点SConnect的源代码,主要是一些基于TClientSocket和TCustemWinSocket来实现通信,估计也没什么大问题。