1 Jetty与glassfish的基本介绍1.1 研究背景及意义下图是对几个主流的应用服务器使用比率的粗率统计结果做出的一个饼图 。这个图的数据也许不够精确,但它还是可以在一定程度上反映我们web项目对各类应用服务器的一些选择趋势 。我们可以看到,Tomcat占据了主要的地位,但是它并不孤独,有超过一半以上的应用并没有使用tomcat作为web容器 。这是针对每个项目自身特点做出的选择,也许我们无法比较出哪一款是最好的应用服务器,但是,我们可以在众多的应用服务器中,做出一些性能上的测试和比较,选择一款最适合自己的项目的应用服务器 。
本次的报告中,我选择了较为受关注的jetty以及稍微冷门一点的glassfish作为研究对象,对它们在windows和linux上分别进行了App项目的部署和简单的测试,希望这个文档能对以后的应用服务器研究提供一些简单的参考 。
文章插图
1.2 Jetty基本介绍Jetty是一款由纯JAVA语言编译的实现servlet规范的应用服务器 。它是eclipse基金会支持的一款软件 。打开它的目录你会发现很有趣的事情,它的启动程序是一个叫start.jar的文件,并且需要在cmd中执行命令:java –jar start.jar 。这对于习惯于tomcat等其他以bat(windows)或者sh(linux)文件启动的使用者来说,是一个小小的新体验 。
Jetty的很多特性在网络上都有很详细的记载,在文档中我不想做任何的简单复制或者引用,那些资料大家可以去百度搜索 。这里只提它的一点最明显的优势:嵌入式服务器 。Jetty之所以能占据一个不错的使用比率,也正是因为它的这个特性 。它可以在java程序中作为一个servlet让java程序进行调用 。这使它更多的是作为两台机器之间的通信服务应用 。它的这种特性,可以省去写socket等通信程序的烦恼,在两台机器的那些非标准的servlet程序,直接以http请求的形式,调用jetty方法,形成一个标准的符合servlet规范的通信 。当然,它作为web容器的性能也是十分优秀的,后面的测试中,我将会提到 。但是,作为一个互联网公司,目前并不存在这方面的逻辑代码需要整改成jetty形式的嵌入服务,我并没有对它怎么嵌入使用去做更进一步的研究 。
1.3 Glassfish基本介绍
文章插图
这是一个让我觉得使用起来十分便捷人性的应用服务器,最开始选择研究glassfish的原因,是因为它是一款开源的相对于tomcat对热部署支持的十分好的应用服务器 。因此,我也将它集成到了eclipse中,进行热部署的测试 。如果开发环境的应用服务器可以换成glassfish的话,也许可以节约很多由于反复重启tomcat而浪费的时间 。
它是执行一个叫asadmin.bat的文件进行启动 。在执行asadmin.bat后会弹出一个命令框,我们在里面输入start-domain domain1(这个名字跟你自己的domains下的domain目录名有关)
启动后,我们在地址栏输入localhost:4848就可以进入它的管理界面了 。
文章插图
文章插图
通过它的这个界面可以对项目进行部署,还有数据库连接等进行管理还有集群等配置,甚至还有对数据和项目运行情况的监控管理,相对于tomcat,glassfish的这个功能可以减少使用者的使用难度,更加直观地配置应用服务器,更好的优化应用服务器的性能 。Glassfish简单的服务器性能比较,将在后面中提到 。
2 jetty,glassfish,tomcat的性能测试2.1 测试环境说明本次测试将分别在windows和linux环境下进行测试 。测试将在两个环境中使用的是开发环境,数据库连接的是开发库,测试项目为自研APP 。操作系统使用的是windows7旗舰版和centos7 server 。计算机的基本情况如下图所示:
文章插图
使用的压力测试软件均为:JMeter
测试所使用的请求地址连接为:
/App/users/getUserInfo?uid=11001&v=1.0.0
/App/uses/doLogin?uName=test&pwd=pass@123
/App/menus/getModuleMenu?uid=11001&urole=0&uSource=0
测试将随机访问这三个请求 。三个请求分别为云服务的相关请求 。三个请求对应三种不同类型的服务,具有很强的业务代表性 。
在测试结果中我们将看到几个参考值,下面给出每个值的意义 。
推荐阅读
- 【浏览器】HTML、CSS和JS如何变成页面的?
- 长腿|Jessi厚唇被骂怪物、辛芷蕾三瓣唇、肯豆唇肿似蜂蛰,填充失败?
- 殷桃|43岁殷桃生图美出圈,深V、大波浪,自曝减肥秘籍,网友:绝绝子
- 特斯拉|汽车城内一特斯拉连撞五车:气囊全爆、场面堪比大片
- 电池|底盘、电池合体!零跑汽车首发动力电池CTC技术 国产车首次
- PC电脑|5分钟开机上千台 无影云电脑免费体验1周:Win、Linux通吃
- Redmi|神速!红米K50S、K50S Pro首曝:处理器又都升级了
- 抖音、知乎纷纷上线图文转视频功能,加速“古典自媒体”的进化还是消亡?
- 内网穿透工具chisel
- USB的传输,编码,数据格式,掌握usb的必备知识