此文章忘记在哪里看到了,作为收藏备用记在这,作者看到可以联系下我著名出处,,本编文章是根据某一个公开课进行整理的,如何在服务端和客户端去实现单机百万的并发。

从客户端角度看,单机如果能发出百万并发,那我可以做出一个能发出百万并发的压测工具。从服务端角度看,可以优化现有的服务器支持更多的并发。

服务端支撑百万并发

  • 文件句柄设置

设置fd > 100w

  • 预估内存

每个连接占用内存3KB ~ 10KB,100W连接占用内存:100W * 10KB = 10GB

  • 机器配置说明

    普通X86物理机:40Cores / 192GB Memory / 10KB Network / 1TB SAS

  • Nginx版本推荐

    Nginx-1.14.2

Client端发出超过65535的连接数

  • 绑定多张网卡

    65535 * Count(网卡数)

  • 多张网卡接入VIP

    提供APP接入VIP

单机服务端最大TCP连接数

  • 实际受到机器资源(内存)、操作系统设置等限制
  • Linux下影响TCP连接的主要因素是内存和机器允许的文件描述符个数每个tcp连接都要占用一定内存,每个socket就是一个文件描述符fd,1024以下端口为保留端口,每个socket占用在3KB-10KB,文件句柄修改 /etc/security/limits.conf

单机Client端最大TCP连接数

  • client每次发起tcp连接请求,选择一个空闲的本地端口,该端口是d独占的,不能共享
  • tcp port的数据类型是unsigned short,所以单机最大TCP连接数为65535=2的16次方-1(port=0保留)
  • 怎么突破最大连接数为65535个

    一块网卡对应一个IP地址

    一个IP地址对应65535个端口

    一个端口只能一个socket监听

    一个socket(ip、port)可以接受多个socket连接

  • 单机客户端最大连接数为 65535 * count(单机网卡数)

什么是socket

  • Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
  • 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面
  • Socket的出现只是可以更方便的使用TCP/IP协议栈而已,其对TCP/IP进行了抽象形成了几个最基本的函数接口

    -create,listen,accept,connect,read和write等等

赞0

踩0

本文标签:这篇文章木有标签

版权声明:若无特殊注明,本文为《橙子柠檬》原创,转载请保留文章出处。

本文链接:https://qinzc.me/post-242.html

正文到此结束

python百万并发压测_100W高并发(转载) - 橙子柠檬's Blog相关推荐

  1. tsung压测mysql_高并发测试工具Tsung使用教程

    tsung是erlang开发的一款开源的多协议分布式负载并发测试工具, 可用作HTTP.WebDAV.SOAP.PostgreSQL.MySQL.LDAP 和 Jabber/XMPP的服务器压力测试. ...

  2. 压测ES-cpu高解决方案

    压测rpc接口,100并发压测es-cpu 100%-4c,带宽80M. 带宽高是因为返回数据多,cpu高是因为有大量复杂计算. 经过研发排查,查数据时候加了一个or条件,导致本来查27条返回了900 ...

  3. 《Java并发编程入门与高并发面试》or 《Java并发编程与高并发解决方案》笔记

    <Java并发编程入门与高并发面试>or <Java并发编程与高并发解决方案>笔记 参考文章: (1)<Java并发编程入门与高并发面试>or <Java并发 ...

  4. 全链路压测构建高可用应用最佳实践

    简介:电商大促.明星直播.在线教育等大量场景,用户访问量会在一定时间段剧增,或者在业务上云过程中需要高可用体系评估客户系统在云环境下面的性能表现,判断是否符合客户的预期. 通过阿里云的PTS+AHAS ...

  5. Apache JMeter 记一次使用HTTP工具POST提交JSON数据进行送积分高并发压测(二)

    一.前言 前面文章已经介绍Apache JMeter的基本概率和如果使用,但作为一个开发人员,自己写的代码都应该要好好的COD EREVIEW,好好的自测吧.但是有些场景比如高并发.负载和性能测试的时 ...

  6. Jmeter并发压测

    一.JMeter 的场景配置 1.简单 HTTP 请求配置 最常见的压测场景即 HTTP 压测.压测场景在 JMeter 脚本中叫做 Test Plan(压测计划),打开 JMeter,默认即为一个空 ...

  7. Jmeter并发压测-自定义不同请求参数

    目录 背景 下载Jmeter 1. 更改语言 2. 创建线程组 3. 添加变量 3. 创建Http接口 4. 创建察看结果树 5. 执行结果 背景 虽然可以请求相同的接口做测试,但是请求参数每次都是相 ...

  8. java模拟数据库压测_写并发压测 java 脚本你必须会的 3 个类

    性能测试做到后面,一些特殊的场景利用常用的现成工具满足不了需求,所以你需要学习java写一些特定协议的压测脚本,那你不得不研究多线程或线程池,而此时你也一定会遇到java并发编程中的几个类,今天重点讲 ...

  9. 应用程序的并行配置不正确_阿里架构师:天天高并发,达不到百万以上并发都不叫高并发...

    成为一名年薪百万的顶尖架构师,实现财富自由,是大多数JAVA高级程序员的职业追求. 这不仅是技术发展的趋势,同时也是个人职业价值的体现. 但最终能否成为IT架构中的「灵魂人物」,做出亿级用户量的产品. ...

最新文章

  1. JS基础篇--HTML DOM classList 属性
  2. [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法
  3. Material delta download的deletion处理原理
  4. python递归面试题_汉诺塔问题其实很简单 Python 递归经典面试题
  5. 【C++ grammar】抽象、封装与this指针
  6. 理解分布式id生成算法--雪花算法(SnowFlake)
  7. 黑侠百度URL批量推送程序
  8. 列举5个python内置函数和使用方法_Python基础-----函数、内置函数、递归等练习
  9. 遇到win7系统电脑没有声音了怎么解决
  10. 零基础学python电子书-资料│最适合大学生零基础学的Python视频+电子书
  11. 多功能的Silverlight控件User Interface Edition for Silverlight下载及详细介绍
  12. 第19篇:关于近期cs服务端被反打的原因分析
  13. 2020-12-20
  14. 微信小程序 动态获取图片主色调作为背景
  15. 介绍一个用于EOS区块链的RPC API接口的PHP开发包SDK
  16. 2的10次方-1的python表达式_第二章PythonⅠ的基本语法,python,I
  17. 华为防火墙的基本安全策略
  18. 新程序语言 Wyvern 将不同Web语言融合在一起
  19. Cruehead-CrackMe-3
  20. 中国古代经典(汉英双语对照)

热门文章

  1. 技术大佬:我去,你写的 switch 语句也太老土了吧!
  2. 还有 2 天,这场大咖云集的启智开发者大会即将启动!
  3. 看懂这些代码,我哭着笑了
  4. 9 大技巧拯救你的编程面试!
  5. 为什么你必须了解云原生?!
  6. 100% 的程序员都想挑战的算法趣题!
  7. Python 狠甩 Java,Rust 持续称王!揭晓Stack Overflow 2019 开发者报告
  8. 小程序多端框架全面测评 | 程序员硬核评测
  9. 写了 300000 行基础设施代码,我学到了这五条经验
  10. Hacker News 8 月招聘趋势榜:React 连续 15 月登顶,Python 卫冕编程语言