monk2000 2013年08月07日
我的IOCP模型架构(高手请指点)
业务需求:
客户端与服务器通讯,服务器根据客户端不同的业务类型的请求,对服务器端的数据库(mysql)进行读写操作,并把操作结果返回给客户端。

我的IOCP设计是开cpu*2个工作者线程,工作者线程根据客户的请求类型,进入不同的业务处理流程(查询、读写数据库),然后返回结果给客户端。

业务流程大概有十几个,都是查询数据库的。只有一个是写数据库的,写的内容比较大,大概有4M大小。

我的问题是:我的IOCP模型是否是最优的?我觉得这个模型有一个致命的问题,就是当大量的请求是写数据库(内容4M大小)时,由于所有的工作者线程都进行写数据库处理,没有线程对其他请求进行及时响应(这些请求的完成包在完成端口队列堆积)。

我看到有人把网络请求和处理业务逻辑分开(我的网络请求和业务逻辑是一起的),这样虽然提高了网络请求的响应速度,但是要开一个线程专门处理网络请求,每来一个请求就开一个线程处理该请求的业务。但是这样又违背了IOCP模型了。

我的IOCP模型是不是最好的?除了这样好像就没别的模型架构了啊?
...全文
125 点赞 收藏 7
写回复
7 条回复

还没有回复,快来抢沙发~

发动态
发帖子
网络编程
创建于2007-09-28

7878

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告