测试代码测试(请求:请求):返回json({'Hello':'World'})if__name__=='__main__':app.run(workers=8)Fiber:packagemainimport(“github.com/gofiber/fiber/v2")funcmain(){app:=fiber.New()app.Get("/",func(c*fiber.Ctx)error{returnc.JSON(map[string]string{"Hello":"World",})})app.Listen(":8000")}压力测试压力测试使用的程序是go-stress-testing,1000并发,每个并发1000个请求。每一列对应的字段是:时间│并发性│成功│失败│qps│最长时间│最短时间│平均时间│下载字节数│每秒字节数│错误码Sanic:...1S│1000│4064│04688.36│428.60│106.12│213.29│69,088│69,028│200:4064...188S│989209│5404.96│71.02│16,89,4449。│1000│995278│0│5409.15│578.58│71.49│184.87│16,919,726│89,522200:995278190S│1000SIS│1000│100000000│0│5420.5420.32.32│578.58.58.58.58│184.41,4,4,4,4,4,4.411,4.4.411,4.4.44│184.4,184.4.4.4.4.4.4.4.4.41,184.41,184.4.4.4.4.4.41,184.4.41,184.4.4.4.4.4.4.4.41,1ny│184.4,14│184.4,14│19.4.4,14│19,184.4,14│*********************结果统计*****************************处理协程数:1000总请求数(并发数*请求数-c*-n):1000000总请求时间:189.687秒successNum:1000000failureNum:0tp90:235.000tp95:299.000tp99:387.000*************************结果结束*****************************纤维:。..1S│1000│4264│0│4944.17│428.17│103.75│202.26│72,486:4200:4264...160000000水果991952161s│08│90900│6374.53│428.17│60.73│156.87│16,981,130│105,472│200200:998890161S│100000000000000000000000│0000000│0000000│6379.79***************************************结果统计******************************处理的协程数:1000总请求(并发数*请求数-c*-n):1000000总请求时间:161.116秒successNum:1000000failureNum:0tp90:175.000tp95:182.000tp99:198.000****************************结果结束******************************可以看出sanic和fiber的区别不大,sanic的性能几乎和fiber相当,而且它可能是目前性能最高的Pythonweb框架,没有之一,就连之前声名显赫的异步框架fastapi都落后于sanicAttachtheresultsoffastapi:...1s│1000│3140│0│3868.18│397.67│98.50│258.52│53,380│52,552│200:3140...239s│1000│991225│0│4254.52│557.92│0.8│16,850,825│70,505│200:991225240S│1000│995799│0│0│4257.07│557.98│87.20│234.90│16,928,583│70,583│70,535200:1000000************************结果统计****************************处理协程数:1000总请求数(并发数*请求数-c*-n):1000000总请求时间:240.841秒successNum:1000000failureNum:0tp90:279.000tp95:296.000tp99:348.000************************结果结束*****************************Flask、Django等框架不在本文讨论范围内。两者都不是为高性能设计的,没有可比性。sanic还有一个优点就是它没有开发服务器,运行sanic-w8main.app的服务器就是生产服务器。如果想用Python开发web服务器,建议优先选择sanic,不过fastapi其实已经够用了。
