Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关注关注,顺便给个建议 #2

Closed
krissss opened this issue Oct 18, 2017 · 6 comments
Closed

关注关注,顺便给个建议 #2

krissss opened this issue Oct 18, 2017 · 6 comments

Comments

@krissss
Copy link

krissss commented Oct 18, 2017

class下的属性和方法建议注释采用规范的phpDoc形式,至少囊括 @var @param @return 这些吧,便于编辑器(像phpstorm)等提供代码提示的功能。
如果有需要,本人愿意提供开发帮忙,本人对 Yii2 框架非常熟悉,对 swoole 也有所使用,所以很看好该项目。

@onanying
Copy link
Member

非常感谢,注释确实要规范一下,待我把全部需要的功能稳定下来会慢慢完善这些,后续如果项目使用的人很多,我忙不过来时,我会联系大家来一起开发的,谢谢。

@gouchaoer
Copy link

mysql/redis的io并发没问题么。。。一个worker进程同时处理n个请求,每个请求阻塞在io的时候同进程下的别的worker是得不到调度的,比php-fpm情况要糟,能在压测里加上mysql/redis的io逻辑么?

现在解决方案无非半协程/协程

@onanying
Copy link
Member

这里你有几个认知错误,首先Swoole是多进程模型,一个worker同一时刻只会处理一个请求,然后是MixPHP的mysql/redis的连接是在每个worker进程内创建的,所以不同的请求之间并不会相互影响,MixPHP现在并没有使用协程,现阶段只想在同步方面做到更好。

@krissss
Copy link
Author

krissss commented Oct 19, 2017

同意暂时不使用协程,协程的开发方式会增加开发难度,虽然swoole官方有方案可以用同步的方式写协程,但是对于不懂的人来说协程方案从理解上就带来了很大的困难,前期没必要加上。

@gouchaoer
Copy link

等等。。。swoole1.x都异步框架了,tcp server同时可以保持百万连接,http server我看demo也是异步的啊,怎么可以一个worker进程只能同时处理一个request,而且zamphp/swooledistributed之类的基于1.x的半协程都是可以一个worker同时处理很多请求的

@onanying
Copy link
Member

如果你说的代码里 on('request',function(){}); 这样的方式是异步的话,那是的,但是这与单个worker同时处理一个request并没有关联,swoole在worker内并没有使用多线程,这个我觉得你还是写代码去试试就知道了,还是要去实践。Reactor、Worker、Task的关系:https://wiki.swoole.com/wiki/page/163.html ,我只能帮你到这里了,加油。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants