首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Netty NIO 框架性能压测-缺链接-对比Tomcat【转】

2012-10-09 
Netty NIO 框架性能压测-短链接-对比Tomcat【转】压测方案准备多个文件大小分别为 1k 10k 100k 300k 使用ab

Netty NIO 框架性能压测-短链接-对比Tomcat【转】
压测方案

    准备多个文件大小分别为 1k 10k 100k 300k 使用ab分别按 [50,2000](按50逐渐叠加)压测服务,每次请求10W次 硬件信息:CPU:Intel(R) Xeon(R) CPU 1.86GHz ×4 4G 统计脚本:grep "Requests per second:" 300k_* | awk -F':' '{print substr($1,6),$3}'|sort -n 1k 10k 压测的时候load维持在3左右,100k 300k的load飙升到5 。
压测结果
    在小文件(小于10k)情况下Netty的性能要优于Tomcat,qps大概能提升50%,而且比Tomcat稳定。 在并发量增大时候Netty表现得比Tomcat稳定,通过修改内核加快TIME_WAIT的回收时间,从而提高系统的并发量。 在大文件的情况下Netty没有任何优势,而且线程池相关的没有Tomcat优秀,Tomcat的内存回收更优秀些。 结论:Netty适合搭建轻量级的应用,特别适合传输内容少,但是并发量非常高的应用。或者是大文件下载服务器。

?

修改TIME_WAIT回收时间
vi /etc/sysctl.confnet.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30?/sbin/sysctl -p

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 net.ipv4.tcp_fin_timeout 修改系統默认的 TIMEOUT 时间

相关数据(下载)
===== Netty =========== 1k ======50     15661.50 [#/sec] (mean)100     13429.52 [#/sec] (mean)150     15385.05 [#/sec] (mean)200     15598.34 [#/sec] (mean)250     15135.97 [#/sec] (mean)300     13494.79 [#/sec] (mean)350     15102.49 [#/sec] (mean)400     14614.11 [#/sec] (mean)450     13463.52 [#/sec] (mean)500     13447.48 [#/sec] (mean)550     13126.29 [#/sec] (mean)600     11108.25 [#/sec] (mean)650     11073.34 [#/sec] (mean)700     14518.88 [#/sec] (mean)750     13409.66 [#/sec] (mean)800     13060.86 [#/sec] (mean)850     11938.25 [#/sec] (mean)900     13133.88 [#/sec] (mean)950     13670.75 [#/sec] (mean)1000     13803.70 [#/sec] (mean)1050     16414.20 [#/sec] (mean)1100     14770.09 [#/sec] (mean)1150     11108.65 [#/sec] (mean)1200     13294.72 [#/sec] (mean)1250     13448.52 [#/sec] (mean)1300     15128.31 [#/sec] (mean)1350     13367.31 [#/sec] (mean)1400     14277.91 [#/sec] (mean)1450     13193.80 [#/sec] (mean)1500     14272.63 [#/sec] (mean)1550     11004.96 [#/sec] (mean)1600     13438.72 [#/sec] (mean)1650     13105.43 [#/sec] (mean)1700     13653.39 [#/sec] (mean)1750     13366.72 [#/sec] (mean)1800     12727.40 [#/sec] (mean)1850     13075.32 [#/sec] (mean)1900     11103.91 [#/sec] (mean)1950     13463.83 [#/sec] (mean)====== 10k ======50     7280.51 [#/sec] (mean)100     9089.69 [#/sec] (mean)150     9423.90 [#/sec] (mean)200     8130.07 [#/sec] (mean)250     8142.88 [#/sec] (mean)300     8311.20 [#/sec] (mean)350     8512.20 [#/sec] (mean)400     7940.84 [#/sec] (mean)450     7823.32 [#/sec] (mean)500     8284.60 [#/sec] (mean)550     8785.93 [#/sec] (mean)600     7725.20 [#/sec] (mean)650     7753.23 [#/sec] (mean)700     8184.61 [#/sec] (mean)750     8027.75 [#/sec] (mean)800     7934.49 [#/sec] (mean)850     7792.94 [#/sec] (mean)900     7734.34 [#/sec] (mean)950     7118.27 [#/sec] (mean)1000     7866.23 [#/sec] (mean)1050     7724.82 [#/sec] (mean)1100     7734.17 [#/sec] (mean)1150     7688.83 [#/sec] (mean)1200     7359.90 [#/sec] (mean)1250     7526.02 [#/sec] (mean)1300     7515.24 [#/sec] (mean)1350     6639.51 [#/sec] (mean)1400     7902.36 [#/sec] (mean)1450     7447.63 [#/sec] (mean)1500     8216.35 [#/sec] (mean)1550     8133.42 [#/sec] (mean)1600     7728.28 [#/sec] (mean)1650     7724.26 [#/sec] (mean)1700     7622.26 [#/sec] (mean)1750     7848.25 [#/sec] (mean)1800     7715.88 [#/sec] (mean)1850     7594.04 [#/sec] (mean)1900     8017.95 [#/sec] (mean)1950     7992.33 [#/sec] (mean)====== 100k ======50     1079.56 [#/sec] (mean)100     1078.64 [#/sec] (mean)150     1080.74 [#/sec] (mean)200     1074.42 [#/sec] (mean)250     1082.69 [#/sec] (mean)300     1084.87 [#/sec] (mean)350     1080.00 [#/sec] (mean)400     1046.49 [#/sec] (mean)450     1050.25 [#/sec] (mean)500     1052.89 [#/sec] (mean)550     1046.49 [#/sec] (mean)600     1059.16 [#/sec] (mean)650     1051.33 [#/sec] (mean)700     1050.23 [#/sec] (mean)750     1045.41 [#/sec] (mean)800     1054.51 [#/sec] (mean)850     1034.61 [#/sec] (mean)900     1045.55 [#/sec] (mean)950     1036.36 [#/sec] (mean)====== 3000k ======50     345.95 [#/sec] (mean)100     355.97 [#/sec] (mean)150     361.02 [#/sec] (mean)200     363.39 [#/sec] (mean)250     358.99 [#/sec] (mean)300     332.52 [#/sec] (mean)350     320.66 [#/sec] (mean)400     315.49 [#/sec] (mean)450     305.72 [#/sec] (mean)900     304.57 [#/sec] (mean)===== Tomcat =========== 1k ======50     8808.85 [#/sec] (mean)100     9933.93 [#/sec] (mean)150     11037.66 [#/sec] (mean)200     10857.99 [#/sec] (mean)250     10389.63 [#/sec] (mean)300     11054.51 [#/sec] (mean)350     10397.66 [#/sec] (mean)400     10617.54 [#/sec] (mean)450     9600.62 [#/sec] (mean)500     10822.00 [#/sec] (mean)550     10815.92 [#/sec] (mean)600     11385.86 [#/sec] (mean)650     11094.66 [#/sec] (mean)700     10819.33 [#/sec] (mean)750     10821.28 [#/sec] (mean)800     9009.25 [#/sec] (mean)850     10814.18 [#/sec] (mean)900     9542.68 [#/sec] (mean)950     11095.51 [#/sec] (mean)1000     10811.53 [#/sec] (mean)1050     11084.72 [#/sec] (mean)1100     11089.07 [#/sec] (mean)1150     9590.15 [#/sec] (mean)1200     13826.40 [#/sec] (mean)1250     8186.03 [#/sec] (mean)1300     13961.24 [#/sec] (mean)1350     11077.12 [#/sec] (mean)1400     16536.29 [#/sec] (mean)1450     11430.66 [#/sec] (mean)1500     10817.56 [#/sec] (mean)1550     16195.09 [#/sec] (mean)1600     17205.66 [#/sec] (mean)1650     13300.61 [#/sec] (mean)1700     11061.43 [#/sec] (mean)1750     10837.05 [#/sec] (mean)1800     9786.94 [#/sec] (mean)1850     10808.81 [#/sec] (mean)1900     13019.67 [#/sec] (mean)1950     10090.06 [#/sec] (mean)====== 10k ======50     5513.00 [#/sec] (mean)100     7093.53 [#/sec] (mean)150     9134.78 [#/sec] (mean)200     8910.81 [#/sec] (mean)250     9240.74 [#/sec] (mean)300     7805.80 [#/sec] (mean)350     8661.73 [#/sec] (mean)400     8835.57 [#/sec] (mean)450     7966.94 [#/sec] (mean)500     8322.71 [#/sec] (mean)550     6575.24 [#/sec] (mean)600     8726.30 [#/sec] (mean)650     8108.30 [#/sec] (mean)700     9226.79 [#/sec] (mean)750     8834.83 [#/sec] (mean)800     8386.70 [#/sec] (mean)850     8380.58 [#/sec] (mean)900     8323.48 [#/sec] (mean)950     9060.00 [#/sec] (mean)1000     7213.51 [#/sec] (mean)1050     9504.06 [#/sec] (mean)1100     9381.86 [#/sec] (mean)1150     8839.41 [#/sec] (mean)1200     9760.02 [#/sec] (mean)1250     9476.96 [#/sec] (mean)1300     8366.04 [#/sec] (mean)1350     9651.87 [#/sec] (mean)1400     9186.07 [#/sec] (mean)1450     9600.16 [#/sec] (mean)1500     8289.33 [#/sec] (mean)1550     9399.26 [#/sec] (mean)1600     8205.92 [#/sec] (mean)1650     8306.61 [#/sec] (mean)1700     9464.74 [#/sec] (mean)1750     8682.26 [#/sec] (mean)1800     9589.63 [#/sec] (mean)1850     8315.31 [#/sec] (mean)1900     9174.38 [#/sec] (mean)1950     8956.78 [#/sec] (mean)====== 100k ======50     1033.41 [#/sec] (mean)100     1054.92 [#/sec] (mean)150     1061.72 [#/sec] (mean)200     1075.20 [#/sec] (mean)300     373.05 [#/sec] (mean)350     375.34 [#/sec] (mean)400     376.29 [#/sec] (mean)450     376.51 [#/sec] (mean)500     377.04 [#/sec] (mean)550     377.09 [#/sec] (mean)650     363.08 [#/sec] (mean)700     368.69 [#/sec] (mean)====== 300k ======50     354.93 [#/sec] (mean)100     361.82 [#/sec] (mean)150     366.71 [#/sec] (mean)200     369.58 [#/sec] (mean)250     372.58 [#/sec] (mean)300     374.43 [#/sec] (mean)350     375.92 [#/sec] (mean)400     376.23 [#/sec] (mean)450     376.93 [#/sec] (mean)500     376.61 [#/sec] (mean)550     377.67 [#/sec] (mean)600     372.58 [#/sec] (mean)

热点排行