greenevPython網(wǎng)絡(luò)服務(wù)框架
greenev是一個(gè)基于greenlet協(xié)程,事件驅(qū)動(dòng),非阻塞socket模型的Python網(wǎng)絡(luò)服務(wù)框架,它使得可以編寫同步的代碼,卻得到異步執(zhí)行的優(yōu)點(diǎn)。
本項(xiàng)目受到gevent, openresty, alilua, skynet, clowwindy/ssloop的啟發(fā),在此表示感謝。
reactor模式采用基于epoll, kqueue, poll, select的IO復(fù)用機(jī)制
基于底層的reactor完成上層greenlet協(xié)程的調(diào)度
在CentOS6.5, Ubuntu12.04, FreeBSD10.1, Windows7上測(cè)試通過(guò)
只需調(diào)用g.parent.switch掛起當(dāng)前的協(xié)程,而無(wú)需管理其中的細(xì)節(jié)
測(cè)試前請(qǐng)修改如下系統(tǒng)參數(shù)(CentOS):
net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_max_syn_backlog = 8192 fs.file-max=65535 net.ipv4.tcp_max_tw_buckets = 20000 net.nf_conntrack_max = 65000 net.netfilter.nf_conntrack_tcp_timeout_established = 1200
評(píng)論
圖片
表情
