我对action是否采用异步模式做了个小测试,结果是不使用异步模式的反而速度快一些。
标签:
我对action是否采用异步模式做了个小测试,结果是不使用异步模式的反而速度快一些。
不能简单的认为async就一定能提升性能
https://zhuanlan.zhihu.com/p/216526486?utm_source=wechat_session
另外,.net core的性能提升体现在多个方面
https://www.cnblogs.com/yswenli/articles/9060161.html
推荐看看之前的博问 感觉 async await 异步编程 并不能提升性能啊?
这个东西并不会提升单次调用的性能,只是增加了线程的利用率,好像之前有人问过,还是站长回答的,一时找不到那个答案了。
首先你的具体案例里是否有一些IO的处理,比如读写数据库,比如你有100行代码,第一行就是是读写数据库的,那么不是异步的时候,你就需要等到数据库IO操作完毕再运行下面99行。
可能99行代码里 第50行要用到IO处理的结果,那么如果用了异步第一行运行的时候 ,第二行到50行就并行运行了,
然后50行代码等io的结果后再运行下面代码。
还有新开线程也是要资源的,当你的并发量不高的时候,可能你还会感觉慢,就和数据库加了索引是为了表数据量级大的时候更快,如果数据量少,不会有明显的差距的
看实际情况。不然IIS为什么给你设置线程数。这个根据任务情况(如长任务还是短任务),硬件情况(CPU核心数,线程支持情况)。就好比都知道TCP连接开销大,那为什么html要分成多个文件,文件分多还是分少好——都是根据自己的情况测试调整。
异步的目的是降低性能提高吞吐量