我在我的服务器上部署了网易云音乐api、qq音乐api服务器。

最近在做统一api,刚做完搜索服务,于是我就打算测试一下这个接口的并发性。
本来我的目的是想测试一下自己定义的线程池的优劣,想调整参数改进一下线程池配置。

于是我用jmeter进行压力测试,测试过程中我发现了现有结构的一些问题;

问题一、服务器带宽不够高,我的服务器只有5M、换算成流量就是640k/s,这对于返回30k的json来说,来20多个请求就完蛋了,带宽不够,而且cpu使用率最高也才40%多,完全浪费了他的最佳性能!我要压榨它的价值

画一个现有情况的架构图

这个架构图很明显缺陷太大了。

分析导致并发量小的原因

很明显1,3 过程由于带宽原因,只能有640k/s的速度。
发现json数据一般也比较大,可能是30-60kb,这并发量始终不可能有太大的变化。


改进方案

方案一、去掉云服务器这一层,可以提高并发量,利用客户端的的带宽 对网易云音乐服务器 和 qq音乐服务器 发请求。

做法是,将网易云音乐服务器和qq音乐服务器以及我日后写的springboot程序通过一个docker镜像构建起来,然后客户端通过虚拟机将这个docker镜像启动起来即可

方案二、保留云服务器这一层,云服务器只做请求转发,不做数据传输,数据直接从官方的服务器直接流向用户,这样可以有效避免带宽问题。

会发现从公网下载文件是很快的

方案三、直接替换nodejs,用springboot做一整套api,至于带宽问题我的做法是,将springboot部署到我空闲的电脑上,然后利用内网穿透原理实现服务器的作用。


我最终采取的方案,是方案三,因为我看了一些网易云音乐api的源码,以及qq音乐api的源码,非常的简单,我可以用java快速实现并且原生springboot项目,能让服务快速的继承进springboot生态圈

下面这个架构图是最简单的架构方式

充分利用好自己的阿里云服务器,让服务器的价值最大化相关推荐

  1. 阿里云双12服务器和阿里云双12数据库活动又开始了

    一年一度的阿里云双12服务器活动又开始了,非常的便宜,只需原价的二折即可. 双12活动地址 https://m.aliyun.com/act/team1212

  2. 阿里云搭建图片服务器,图片资源服务器搭建

    背景 我第一次搭建图片服务器是在我的虚拟机服务器下,后来虚拟机崩溃了,就在阿里云买了一台轻量级服务器,然后安装了图片服务器.不过我当时并没有写一个文档进行记录,直到我后来再次需要一台图片服务器,于是我 ...

  3. 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程

    搭建阿里云Linux版服务器+使用docker安装EMQ.Node-RED.MySQL+本地Navicat访问数据库 云服务器基础搭建 注册云服务器 XShell简介 部署EMQ 部署docker 物 ...

  4. 阿里云轻量服务器WordPress镜像建网站教程(图)

    阿里云轻量应用服务器使用WordPress搭建网站全过程,应用镜像选择WordPress,几秒钟即可搭建好WordPress网站,直接通过公网IP地址即可访问网站首页.远程登录轻量服务器查询管理员密码 ...

  5. 阿里云轻量服务器怎么设置密码?

    阿里云轻量服务器怎么设置密码? 阿里云轻量服务器是一款很不错的产品,我们在购买轻量型服务器时可以选地域,应用镜像和系统镜像, 但是好像没有看到设置服务器密码的地方哦,那要怎么设置服务器的密码呢? 首先 ...

  6. **阿里云ECS Linux服务器图形化界面安装方法 Ubuntu**

    阿里云ECS Linux服务器图形化界面安装方法 Ubuntu 一.远程连接 二.登录后进入终端界面 三.更新服务器,安装图形化界面 apt-get update apt-get upgrade -y ...

  7. 阿里云搭建svn服务器

    阿里云搭建svn服务器 前言:SVN是Subversion的简称,是一个开放源代码的版本控制系统,也就是一个用来管理你的项目代码,用来进行版本控制的神器. 1.登陆你的云服务器 安装svn yum - ...

  8. 阿里云轻量服务器windows系统远程桌面无法连接?

    阿里云轻量服务器windows系统远程桌面无法连接? 阿里云服务器分为了ECS服务器和轻量型服务器,两者之间的不同我们之前已经介绍过了.轻量型服务器还是很受小伙伴们青睐的,轻量服务器的应用镜像及系统镜 ...

  9. 云服务器修改dns服务器为阿里云公共dns服务器

    为什么要切换使用阿里云的公共dns服务器呢? 为什么修改云服务器的DNS呢,这样是为了更好的提升网站解析能力,从而提升网站打开的速度.我用的就是阿里云默认的公共DNS服务器(223.5.5.5.223 ...

  10. 使用WinSCP连接阿里云轻量服务器

    使用WinSCP连接阿里云轻量服务器 准备:下载PuTTYgen,WinSCP 使用第二种方式连接 设置完成以后,会下载一个pem格式的密钥 使用PuTTYgen转换成ppk格式的文件 保存文件即可 ...

最新文章

  1. linux vim project,vim插件project的用法
  2. 网站DDOS***防护实战老男孩经验心得分享
  3. MAC终端安装grunt--javascript世界得构建工具
  4. sharepoint配置问题解决方案
  5. linux下设置oracle开机自启动
  6. Html前端基础(这些基础标签你必须知道!)
  7. vs2015+opencv3.2.0配置的一些小事情
  8. 配置 Logback 异步 Appender 时注意顺序
  9. 手把手教你写一个RPC
  10. Linux知识点小结--精华总结
  11. AOP与AspectJ的关系
  12. 用html编写古诗词欣赏,品析古诗词画面描写之技巧
  13. 【五校联考5day2】光棍
  14. hbuilderx 使用总结
  15. Markdown学习第第二弹--分割线和标题
  16. 摄影基础之---景深
  17. Android触摸事件派发(一) ViewGroup的dispatchTouchEvent()
  18. AndroidStudio3.1 线性布局
  19. 双目相机IMX219-83 +jetson nano 使用教程
  20. 使用jupyter 调取arcgis中arcpy

热门文章

  1. 【报错】打包不成功没因为TEST文件
  2. dom4j解析RDF/XML文件
  3. Java Collection集合的三种遍历方式
  4. 国服DOTA2下载安装详细过程
  5. 用友NC BeanShell_未授权RCE
  6. 分享一个好用的直播系统软件(一)
  7. InitializeComponent()方法
  8. 常熟市杨园小学能耗管理系统的应用
  9. 一般办公计算机水平,本以为自己电脑办公水平还可以,直到闯入了这几个网站...
  10. 第14节 实例-事件响应之组合键