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
   缓存应用
  图1:关于缓存应用的原理图。缓存支持插入,获取,删除键/值对
  图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包来实现。
   应用层结构
  图3:基于Cache的Java REST组织结构图。Apache Tomcat + Jersey (servlet)在这一层。
  图4:基于Cache的Java SOAP组织结构图。Apache Tomcat + Axis2 (servlet)在这一层。
  图5:为Node应用。仅初始化了一个worker。
   测试
  图6: 为我测试时使用的环境


最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
19天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)
【4月更文挑战第4天】本文介绍了link text在自动化测试中的应用。Link text是指网页中链接的文字描述,点击可跳转至其他页面。文章列举了8种常用的定位方法,其中着重讲解了link text定位,并通过实例展示了如何使用Java代码实现点击百度首页的“奥运奖牌榜 最新排名”链接,进入相应页面。如果link text不准确,则无法定位到元素,这说明linkText是精准匹配,而非模糊匹配。文章还提到了partial link text作为link text的模糊匹配版本,将在后续内容中介绍。
37 4
|
4天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
17天前
|
Java 测试技术
SpringBoot整合单元测试&&关于SpringBoot单元测试找不到Mapper和Service报java.lang.NullPointerException的错误
SpringBoot整合单元测试&&关于SpringBoot单元测试找不到Mapper和Service报java.lang.NullPointerException的错误
21 0
|
17天前
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
43 0
|
1天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
3天前
|
XML Web App开发 测试技术
python的Web自动化测试
【4月更文挑战第16天】Python在Web自动化测试中广泛应用,借助Selenium(支持多浏览器交互)、BeautifulSoup(解析HTML/XML)、Requests(发送HTTP请求)和Unittest(测试框架)等工具。测试步骤包括环境搭建、编写测试用例、初始化浏览器、访问页面、操作元素、验证结果、关闭浏览器及运行报告。注意浏览器兼容性、动态内容处理和错误处理。这些组合能提升测试效率和质量。
11 6
|
6天前
|
JavaScript Java 测试技术
基于Java的宠物服务平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的宠物服务平台的设计与实现(源码+lw+部署文档+讲解等)
16 1
|
6天前
|
JavaScript Java 测试技术
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
24 2
|
6天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
【4月更文挑战第17天】其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇。那是因为这个比较重要,所以宏哥专门为她量身定制了一篇。FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思。在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待。
29 3
|
7天前
|
JavaScript Java 测试技术
基于Java的珠江学院大学生自愿者服务网的设计与实现(源码+lw+部署文档+讲解等)
基于Java的珠江学院大学生自愿者服务网的设计与实现(源码+lw+部署文档+讲解等)
26 0