[求助]求进程通信最有效率的方法选择
业务需要
一个32位x86的系统, win2003. 32g内存
分配20g给sql2005.
剩余12g空闲.
现在有一个程序, 本身数据量比较大, 计算量较低, 但大家知道的,"32位系统下单进程只有1.7g"
如果数据都从数据库获取, 那么延迟比内存缓存要慢得多.
实际上我测试了一下, 加载6w条数据,有400-500ms延迟.....这比进程内的操作慢多了.
单进程1.7g的限制很难突破, 所以我就想到的进程间通信.. 主进程负责逻辑, 另外多个进程负责加载数据(相当于缓存)
RPC太重量级了(简单用了一下,发现对现有的数据类修改太多), 于是我就自己实现tcp,序列化反序列化.(异步发送,环形缓存,多线程BeginSend)
我一个工作测试的电脑i5 3.5g 4核, 耗费100%才能达到16mb/s秒的处理量,我都绝望了.优化了一下才22mb每秒.
这完全无法接受....(仅仅只是传输文件,都不牵扯复杂的其他运算)
现在正在看管道, 内存映射和队列消息..
求做过相关应用的朋友,给点建议, 直接上哪个?
求指教