• 北冥Master
    2019-11-20
    一个worker对应有几个协程?

    
    
  • 回家
    2019-08-18
    ngx.log是否有缓存,记得QQ群里讨论过一次,这里没有缓存,而是access.log写的时候有缓存?我来调查一下吧
    
    
  • 回家
    2019-08-18
    有些阻塞操作可以使用nginx线程池,使主线程腾出来。nginx是多进程,单线程的是吧,这里是会重新创建线程池?而且这里的阻塞操作不一定是异步执行的?此时执行阻塞操作的线程可以和主线程进行一个同步的操作,阻塞操作执行完了,通知主线程接着处理?

    作者回复: 是的,nginx 是多进程单线程的。nginx 是有线程池的,可以参考:https://www.infoq.cn/article/thread-pools-boost-performance-9x 这里面的流程图:)

    
    
  • 高远
    2019-08-06
    这些年来一直有个疑虑,既然这些阻塞调用是官方极力不鼓励的,为什么不直接禁用呢?(或者加一个flag让用户选择禁用)

    作者回复: 我的个人看法哈,因为 OpenResty 的周边生态还不够完善,有时候还不得不调用阻塞的库来实现一些功能。比如 1.15.8 之前调用外部的命令行还需要 os.execute,而不是 lua-resty-shell。

     1
    
  • Geek_41dcba
    2019-08-05
    sock=ngx.req.socket()
    while
            sock.receive(10)
    虽然调用非阻塞receive,但也算个阻塞操作吧!

    我这么干了一次,nginx时间就不更新,看了一下底层实现,有数据可读不会去yield。
    展开
    
    
  • 刘丹
    2019-08-05
    请问最新版的OpenResty里有ngx.io模块吗?另外ngx.log好像每条日志记录不能超过4K字节,能否改大?

    作者回复: 你说的 ngx.io 是指操作文件的库吗?这个并没有带,还是要用 Lua 的库。
    ngx.log 的这个限制没法修改。

     1
    
我们在线,来聊聊吧