4核16G服务器吞吐量大概是多少

4核16G服务器吞吐量大概是多少,第1张

一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。

单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

QPS(TPS):每秒钟request/事务 数量

并发数: 系统同时处理的request/事务数

响应时间: 一般取平均响应时间

(很多人经常会把并发数和TPS理解混淆)

理解了上面三个要素的意义之后,就能推算出它们之间的关系:

QPS(TPS)= 并发数/平均响应时间

一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

决定系统响应时间要素

我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。

系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;

关键路径是有CPU运算、IO、外部系统响应等等组成。

各模块细节

1.Native App(移动端的app):

1).跟随主服务常驻内存,在收到当前网络环境为Wifi事件后,启动HttpServer。

(当前网络切换成3G/2G等网络时关闭HttpServer)。

以上这步我们叫做注册:启动移动端的HttpServer的时候,我们会将移动设备的ip地址(内网地址)发送到指定的后台Server上

2).收到从Web来的http请求后,往Server发送绑定请求,这时候就将移动端的IMEI和HTML中的Cookie一起上传到指定的Server上

例如:

http://serverhost/?cookie=123213&imei=31233213123

以上这步我们叫做一次绑定的完成操作

以为我们是在移动端开始一个HttpServer的,所以要考虑一些额外的因素,比如耗电量

风险控制:使用灰度测试规则,并使用开关限制功能。

功耗风险:经过三台设备测试,电量消耗忽略不计(具体CPU使用时间在统计)。

2.Web JS:

1).加载页面加载后先从CDN加载一个静态的JS到此页面。

2).静态JS再请求Server 获取一段动态JS用以做本地Ping。

(如果此IP已有N次获取,则考虑>N的节点是一个大型公共网络,则把此公共IP加入黑名单,不再返回动态JS)

3).获得动态JS后直接Ping本地的HttpServer。

(Ping的IP/Port会随着动态JS一起下发)

这里我们是在Html页面中使用JS脚本来处理传递Cookie给移动端的功能。

3.Bridge Server:

1).Sever选型:Node.js

同时考虑到开发效率,性能,和client的JS的契合度。

Node.js单台16核服务器,4节点,QPS经测试能到6k-8k。

较适合短频非阻塞的请求。

2).数据存储:Redis

考虑到NativeApp的外网IP时效性,以及对于短频请求的快速应答。

以外网IP为Key,各个IP为Value。每天清理一次外网IP。

存储格式:{外网IP:{NativeApp IP/Port, .........}}

3).移动端所需要的接口

接口一:Native App 对于本外网IP的注册的请求。

接口二:Navtive App的绑定请求。

具体原理图:

上面讲解了一下技术的实现方案,下面我们就来看一下,具体的实现技术

首先来看移动端的,我们需要建立一个HttpServer

我们可能知道在PC端建立一个Server很简单,直接使用Tomcat服务器就可以了,但是我们移动端不可能去搭建一个服务器的,那么我们该怎么办呢?我们可以在网上搜索一下关于如何在手机中搭建一个WebServce,我们可以看到Apache已经帮我们做好了这件事了,他提供了一个jar,有相应的api,同时还有一种技术就是老外有个人写好了一个类:NanoHttpd,我们只需要看懂这个类,然后自己在编写一个类,继承这个类即可,因为这个类是抽象的。这两种搭建的Server原理都是很简单的,就是建立一个Socket连接,这个和Tomcat是一样的,只是他们将这种操作进行优化处理了


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/583833.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-06
下一篇2023-07-06

发表评论

登录后才能评论

评论列表(0条)

    保存