如何搭建Nginx单机百万QPS性能环境?

2026-06-10 18:529阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计857个文字,预计阅读时间需要4分钟。

如何搭建Nginx单机百万QPS性能环境?

一、背景最近公司推出了一系列物联网产品,主要用于物联网通信。主要使用的协议是MQTT,内部权限和关系等业务逻辑通过HTTP实现。为了在本地测试中模拟百万用户同时在线的需求,需要进行相应的测试准备。

一、背景

  最近公司在做一些物联网产品,物物通信用的是MQTT协议,内部权限与内部关系等业务逻辑准备用HTTP实现。leader要求在本地测试中要模拟出百万用户同时在线的需求。虽然该产品最后不一定有这么多,但是既然要求到了就要模拟出来。MQTT用的是erlang的emqtt,这个已经有同事测试在本机可以百万用户在线了。不过HTTP服务器就一直很难。

  所以这篇博客准备介绍如何在本地模拟一台支持百万qps的HTTP服务器。简单说一下,MQTT的百万在线是指支持百万TCP连接,连接后,只要保持心跳包就可以了,这个比较简单,一般稍微调整一下Linux一些系统参数就可以了。而HTTP的百万在线不一样。HTTP是发送一个连接请求后获得数据然后就关闭连接,百万并发就比较麻烦,而且这个概念用在这里不是很合适。现在比较通用的一种参考值是每秒处理的并发数。就是QPS。(这一点就很多人不理解。包括我leader,这个要在接下来慢慢解释给他听)

二、准备

  我以前也没有搞过高并发的网络,最近看了一些博客文章,准备用一个最简单的模型来实现这个百万QPS的模拟。后台我是用Java写的,Tomcat服务器。这种带业务的请求,单机绝对不可能到达百万QPS(1m-qps)。网上所说的1m-qps测试环境是一个静态的网页来测试的。

阅读全文

本文共计857个文字,预计阅读时间需要4分钟。

如何搭建Nginx单机百万QPS性能环境?

一、背景最近公司推出了一系列物联网产品,主要用于物联网通信。主要使用的协议是MQTT,内部权限和关系等业务逻辑通过HTTP实现。为了在本地测试中模拟百万用户同时在线的需求,需要进行相应的测试准备。

一、背景

  最近公司在做一些物联网产品,物物通信用的是MQTT协议,内部权限与内部关系等业务逻辑准备用HTTP实现。leader要求在本地测试中要模拟出百万用户同时在线的需求。虽然该产品最后不一定有这么多,但是既然要求到了就要模拟出来。MQTT用的是erlang的emqtt,这个已经有同事测试在本机可以百万用户在线了。不过HTTP服务器就一直很难。

  所以这篇博客准备介绍如何在本地模拟一台支持百万qps的HTTP服务器。简单说一下,MQTT的百万在线是指支持百万TCP连接,连接后,只要保持心跳包就可以了,这个比较简单,一般稍微调整一下Linux一些系统参数就可以了。而HTTP的百万在线不一样。HTTP是发送一个连接请求后获得数据然后就关闭连接,百万并发就比较麻烦,而且这个概念用在这里不是很合适。现在比较通用的一种参考值是每秒处理的并发数。就是QPS。(这一点就很多人不理解。包括我leader,这个要在接下来慢慢解释给他听)

二、准备

  我以前也没有搞过高并发的网络,最近看了一些博客文章,准备用一个最简单的模型来实现这个百万QPS的模拟。后台我是用Java写的,Tomcat服务器。这种带业务的请求,单机绝对不可能到达百万QPS(1m-qps)。网上所说的1m-qps测试环境是一个静态的网页来测试的。

阅读全文