栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

高并发设计简述

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

高并发设计简述

一、高并发介绍

高并发技术

  • 并发编程-> 异步编程
  • 分布式消息中间件 -> 异步设计
  • 分布式存储 -> I/O
  • 分布式架构(服务治理) ->
  • 性能优化
    • JVM
    • tomcat
    • mysql
    • 算法

三高
高并发:高性能、高扩展、高可用
指标要求

二、高并发设计 2.1 需求

用户数量100w -> 1000W

  • 架构设计
  • 人员的招聘
  • 人员管理
  • 目标推进
  • 。。。。
2.2 性能指标评估

1000W个用户的问题分解


性能指标:TPS/QPS/并发数/RT/DAU
并发数量是多少?
qps*rt值
一个请求平均处理时间是3s = 54000

2.3 影响并发数量的因素

Tomcat

  • 针对Tomcat的优化
    连接数量(socket.accept)
    192.168.221.128:8080
    Socket/File: Can’t open so many file
    fd
    连接数量是对内存的占用
    一个连接(4096) 8k 100W(服务器能够支撑的并发连接数量)
  • 如何在应用层面去支撑更多的连接数量(NIO机制)
  • 线程池

参数配置

max-threads ; //cpu 200默认的最大工作线程数量
max-connections:  //10000默认 NIO模式下; ARP :

tomcat参数详细参考
JVM
虚拟机

  • gc算法
  • 内存空间

空间不足的情况

  • 频繁GC
  • new object() , 内存溢出(OOM)
2.4 服务器的数量评估

一台服务器能支撑多少qps =500 ,18000 = 36台服务器。
针对频繁访问的页面或者服务去增加服务器。

2.5 RT值优化

业务逻辑的处理本质上就是IO操作;

  • 查询数据库(磁盘IO)
    • 数据库层面的基本优化
  • 访问磁盘(磁盘IO)
    • 交易对账的时候. 文本的解析和存储
    • 磁盘的页缓存(异步刷盘、同步刷盘)
    • 顺序读写
    • 零拷贝
    • SSD(固态)- HDD (机械磁盘)
    • mmap(内存映射,减少拷贝次数)
    • 异步化(最有效的武器)
  • 内存运算(内存IO)
    • 内存缓存
  • (远程通信)网络通信(网络IO)
    • 池化技术(一次性创建多个连接)
    • 长连接()
    • 同网段通信
    • 减少网络通信的场景
  • 异步化设计
    • 线程的设计
    • MQ的使用
  • 数据结构算法
2.6 应用架构层面

采用微服务架构

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/940215.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号