fasthttp

作者: sealwang24 | 来源:发表于2020-07-05 09:27 被阅读0次

转自:
https://segmentfault.com/a/1190000009133154

goroutine status:

main0: wp.Start()

g1: for loop to clean idle workerChan

g2: wp.workerFunc(ch) blocks for handling connection

g3: ....

g4: ....

按需增长 goroutine 数量,但是也有一个最大值, 所以并行度是可控的。当请求密集时,一个 worker goroutine 可能会串行处理多个 connection。
wokerChan 在 Pool 中被复用,对GC的压力会减小很多。

而对比原生的 net/http 包,并行度不可控(可能不确定,runtime 会有控制? ),goroutine 不可被复用,体现在一个请求一个goroutine, 用完就销毁了,对机器压力更大。

作者:gopher_linuxer
链接:https://segmentfault.com/a/1190000009133154
来源:SegmentFault 思否
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • fasthttp

    http://blog.jobbole.com/105927/

  • fasthttp

    转自:https://segmentfault.com/a/1190000009133154 goroutine ...

  • net/http与fasthttp区别

    fasthttp 是 Go 的一款不同于标准库net/http的 HTTP 实现。fasthttp 的性能可以达到...

  • Go FastHttp优雅关闭实现方案

    使用Go开发web服务时很多情况下都会使用号称比标准库快10x的FastHttp, 但fasthttp(版本: 2...

  • fasthttp剖析

    先说点题外话,最近在开发公司级的网关,虽然没有明说,但是对于我们大家来说Nginx就是我们对标的对象。但是说实话,...

  • fasthttp client example

    说明 官方文档关于fasthttp的demo基本都是http server, http client的介绍基本没有...

  • golang workerpool 源码阅读

    今天读了一下 fasthttp 的源码,其中读到了 workpool ,做了一些注释。

  • fasthttp 获取client ip

    用fasthttp 获取客户端ip 的方法是 ctx.RemoteIP().String(),正常情况下这个获取是...

  • fasthttp原理简析

    fasthttp是golang下的一个http框架,顾名思义,与原生的http实现相比,它的特点在于快,按照官网的...

  • 使用 fasthttp 时要注意的两个点

    我们做的是聚合支付系统,使用的是fasthttp 作为http server, http client 也是使用f...

网友评论

      本文标题:fasthttp

      本文链接:https://www.haomeiwen.com/subject/jgwmqktx.html