Swoole2.0内置协程并发测试-演道网
引用来自“乌龟壳”的评论
python的gevent配合mysql官方的纯python的驱动,打上monkey_patch补丁后,很早就实现了mysql驱动的协程化。但是基于c的堆栈级协程性能损失还是比较大的。这也是为什么python的gevent一直不痛不痒的原因,要高性能只能写异步c代码一条路。
引用来自“matyhtf”的评论
swoole的所有驱动都是用C实现的,没有性能问题。只有业务逻辑才用PHP。
引用来自“乌龟壳”的评论
swoole把做高性能网络开发,不适合php做的部分都用c实现了,php对它来说更像一个具有逻辑功能的配置文件。这个结构一般是没啥问题,反正关键的代码都用c写好了,主要是php太慢,稍微复杂点的协议就要拿c写扩展。所以一直都觉得你这样做和php没什么关系。不仅没什么关系,还把这种对性能比较敏感的程序开发,拉到php这种不合适的语言里,一遇到复杂点的处理又没有现成的库就要写c扩展,和直接用c做区别不大。但是浪费你做php包装的时间。
再说精简点,就是nginx这种模式我觉得才正常。
引用来自“matyhtf”的评论
Swoole只提供最常用的几种协议支持,其他类型的网络协议客户端完全可以基于Swoole的TCP、UDP客户端用PHP代码去实现。现在PHP7已经做了大量性能优化,近期还会加入JIT。性能不是问题。
PHP语言发展了20几年,有丰富的标准库和第三方库支持,不是Nginx能比的。
引用来自“乌龟壳”的评论
你能举出一个php库和【异步高性能IO程序开发场景】有关的,但是nginx缺失的吗?这种场景一般逻辑都很简单,大部分只是做一个浅层转换就抛到下一个环节了。这样更没有什么库不库的意义了。
我举个例子——GD,确实php有而nginx没有,但是图像处理和swoole的场景有什么关系呢?gd一次至少几十毫秒,一秒也就几十次了不得了,用不用swoole都没所谓。
你用swoole做了一个好东西,并且也在某些项目上取得了好的效果。但是我觉得你这库大部分都是c的东西,比如http解析部分等,实际好用的是swoole本身,php对于它来说只是绑定了一门具有逻辑描述能力的配置,显然php在swoole的成功中扮演得并不是那么重要的角色。我并非说swoole做的不好,只是觉得和php扯那么紧感觉不值。
你有php情怀也没什么好说对与不对,只是觉得这样浪费了很多不该浪费的精力而已。nginx并非不能绑定php,只是它的重心是nginx本身,php在任何角度,在【高性能IO场景】都是它的附属,可以集成php也可以集成lua,也可以集成python。功能上不一定有大的不同。
转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn