linux_c_py_php
发表于 2013-02-25 17:19
yulihua49 发表于 2013-02-25 17:17 static/image/common/back.gif
程序马上会发疯的。
有锁这样不错了, 多线程主要是为了并发能力, 也不能单看qps.
linux_c_py_php
发表于 2013-02-25 17:23
要想再快, 那么就是多个sched线程多个FDSET多把锁, 把锁竞争减小就行了, 和多epollfd一样.
linux_c_py_php
发表于 2013-02-25 17:24
基本上最后都蜕化为了one event per thread了.
yulihua49
发表于 2013-02-25 17:25
本帖最后由 yulihua49 于 2013-02-25 17:32 编辑
linux_c_py_php 发表于 2013-02-25 17:23 static/image/common/back.gif
要想再快, 那么就是多个sched线程多个FDSET多把锁, 把锁竞争减小就行了, 和多epollfd一样.
那样就不如多进程了。一样可以把CPU灌满。
负载均衡 ---多进程/线程池。
线程池有个讨厌的地方,在应用中要调用数据库,无法异步化。无谓的占用宝贵的线程进行等待。
windoze
发表于 2013-02-25 17:26
yulihua49 发表于 2013-02-25 17:01 static/image/common/back.gif
行了,iw,这个程序你拿去改吧改吧用吧。
yu同学这下不知道攒了多少人品…………
iw1210
发表于 2013-02-25 17:33
yulihua49 发表于 2013-02-25 17:01 static/image/common/back.gif
完成了,1000连接没任何问题。
行了,iw,这个程序你拿去改吧改吧用吧。
你这个做的好了么,别忽悠我啊~
做好了发给我源代码学习下啊
yulihua49
发表于 2013-02-25 19:21
iw1210 发表于 2013-02-25 17:33 static/image/common/back.gif
你这个做的好了么,别忽悠我啊~
做好了发给我源代码学习下啊
15页149楼。
lonerwolf
发表于 2013-02-25 21:39
回复 173# linux_c_py_php
:mrgreen: 如我所料,见过很多人做网络库,最后都是所有线程均等,即epoll wait也做业务处理,把数据库等大延时操作另开线程做
windoze
发表于 2013-02-26 00:35
回复 178# lonerwolf
是啊,有心情用全异步重写数据库客户端的人怕是很难找,更何况有些数据库客户端干脆就木有源代码
linux_c_py_php
发表于 2013-02-26 10:59
lonerwolf 发表于 2013-02-25 21:39 static/image/common/back.gif
回复 173# linux_c_py_php
这可不是一定的, 完全可以做一个半同步半异步的数据库代理服务器在同步层做同步DB访问, 然后指定一个简单的交互协议, 供其他纯异步服务器异步的请求, 就是Proxy的概念