6 个解决方案
#1
你所说的时间方面的性能,是指单个用户下载的总时间吧?
传统IO的缺点在于,它需要为每个连接分配一个线程,这样在支持大并发时,会导致线程暴涨。
而NIO则可以用一个线程服务多个连接,这样能更好的支持大并发连接,但显然多个连接要分享这个线程的时间片。
所以要看场合,如果就100个并发,不算太大量。如果是5000并发呢?你说传统IO还顶得住不?
传统IO的缺点在于,它需要为每个连接分配一个线程,这样在支持大并发时,会导致线程暴涨。
而NIO则可以用一个线程服务多个连接,这样能更好的支持大并发连接,但显然多个连接要分享这个线程的时间片。
所以要看场合,如果就100个并发,不算太大量。如果是5000并发呢?你说传统IO还顶得住不?
#2
哦哦,是每个用户下载完一个大文件所用的时间,那我用这个方法来比较这两种方式的性能优劣可行吗?
#3
各位大侠,帮帮忙~~~
#4
1楼说得对,你模拟5000个试试。
#5
1000以上基本就不行了 楼主看下 淘宝 boyan NIO trap and track
#6
楼上分析的对
#1
你所说的时间方面的性能,是指单个用户下载的总时间吧?
传统IO的缺点在于,它需要为每个连接分配一个线程,这样在支持大并发时,会导致线程暴涨。
而NIO则可以用一个线程服务多个连接,这样能更好的支持大并发连接,但显然多个连接要分享这个线程的时间片。
所以要看场合,如果就100个并发,不算太大量。如果是5000并发呢?你说传统IO还顶得住不?
传统IO的缺点在于,它需要为每个连接分配一个线程,这样在支持大并发时,会导致线程暴涨。
而NIO则可以用一个线程服务多个连接,这样能更好的支持大并发连接,但显然多个连接要分享这个线程的时间片。
所以要看场合,如果就100个并发,不算太大量。如果是5000并发呢?你说传统IO还顶得住不?
#2
哦哦,是每个用户下载完一个大文件所用的时间,那我用这个方法来比较这两种方式的性能优劣可行吗?
#3
各位大侠,帮帮忙~~~
#4
1楼说得对,你模拟5000个试试。
#5
1000以上基本就不行了 楼主看下 淘宝 boyan NIO trap and track
#6
楼上分析的对