java在web性能测试排行_Web服务性能测试:Node完胜Java

简介

我最近做了一些简单的关于内存的Web Service性能测试。我使用Java(REST + SOAP)和Node.js(REST)将一些接口功能缓存起来。跟期望的一样,Node应用的性能远远超出Java。(响应时间至少快1倍以上)。

NodeJS跟许多其他单线程语言一样,对内存并不贪婪,因为没有关于线程的内存开销,内存占用不会随着连接数的增长而增长,尤其在剔除掉读写文件/数 据库等异步操作后,完全基于内存的NodeJS将有更显著的性能提升,从某种意义上来说基于内存的nodejs服务所能支持的最大并发数将仅受限于带宽和 CPU的处理能力。

可参见: 性能测评:Ngix_Lua, Node.JS Python三者性能相当,均比php快近一倍, PayPal为什么从Java迁移到Node.js

缓存应用

f20a8d88350326629d1810140ab26391.png

图1:关于缓存应用的原理图。缓存支持插入,获取,删除键/值对

e317ae4a1235cec37a1b61ab97c61e58.png

图2:关于应用更详细的物理图

这里使用了另外一种形式的REST,cache操作通过HTTP verbs来完成(Insert = PUT, Fetch = GET, Remove = DELETE)。数据刷新通过使用timeouts(Node)和scheduled threads(Java)来完成。缓存冗余是通过服务器间的REST调用来实现。(通过PUT/DELETE)

对于Java SOAP的扩展,cache操作通过经典的HTTP POST SOAP包来实现。

应用层结构

dc3b923cabe0b41bb0ec7419b35a87c7.png

图3:基于Cache的Java REST组织结构图。Apache Tomcat + Jersey (servlet)在这一层。

46f58ec9f0cacba95c3f9b79f07f24a8.png

图4:基于Cache的Java SOAP组织结构图。Apache Tomcat + Axis2 (servlet)在这一层。

24cc29eda98c7cb8bb74d8532d1f91ef.png

图5:为Node应用。仅初始化了一个worker。

测试

bb6e028a33f01822e1a0c8cc02466655.png

图6: 为我测试时使用的环境

Java + Node REST 缓存插入测试

ab -A username:password -u restput.txt -n 1000 -c 1 https://server/ctispan/rest/key/111 > results.txt

restput.txt

value=test111

Java SOAP 缓存获取测试

ab -A client:password -T "application/soap+xml; charset=UTF-8" -p soapget.xml -n 1000 -c 1

https://server/ctispan/services/CacheProxyWS.CacheProxyWSHttpSoap11Endpoint/ >

results.txt

soapget.xml

111

Java SOAP 缓存插入测试

ab -A client:password -T "application/soap+xml; charset=UTF-8" -p soapput.xml -n 1000 -c 1

https://server/ctispan/services/CacheProxyWS.CacheProxyWSHttpSoap11Endpoint/ > results.txt

soapput.xml

111text111

4d8c3967390d9eec7366c87e071bc560.png

40993787d9a60156bf77839dc07fb60b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值