zoukankan      html  css  js  c++  java
  • 数据库高并发解决方案(三)图说

    QPS:即服务器每秒request请求或者查询的数量,在互联网领域,值每秒的响应response的请求数

    常用的性能测试工具 :ab、wrk、http_load、web bench 、 siege、Apache jmeter

    1. qps达到极限 : qps50 :小型网站,一般的服务器就可以应付;
    2. qps达到100:假设关系型数据库的每次请求在0.01秒内完成,假设单页面只有一个sql查询,那么100qps意味着1秒钟完成100次请求,但是此时我们并不能保证数据库查询能完成100次,所以达到极限,优化方案:数据库缓存层、数据库负载均衡。
    3. qps达到800:假设我们使用的百兆带宽,意味着网站出口的实际带宽是8M左右,假设每个页面只有10k,这个并发条件下,百兆的带宽已经吃完。方案:cdn加速、负载均衡。
    4. qps达到1000, 假设使用memcache 缓存数据库查询,每个页面对memcache的请求远大于对db的请求,memcahe的悲观并发数在2W左右,但有可能在这之前内网带宽已经吃光,表现出不稳定。方案:静态html缓存。
    5. qps达到2000 在这个级别下 文件系统访问锁都成为灾难。方案:做业务分离,分布式存储。

    优化方案:

    1. web服务器优化 :负载均衡 
    2. 流量优化:防盗链处理 将恶意请求屏蔽,
    3. 前端优化:减少http请求、添加异步请求、启用浏览器缓存和文件压缩gzip、cdn加速、建立独立的图片服务器、
    4. 服务端优化:  页面静态化、并发处理、redis队列处理、
    5. 数据库优化: 数据库缓存、分库分表、分区操作 、读写分离、负载均衡

    WEB服务器负债均衡:

    1. 七层负载均衡实现: 基于url等应用层信息的负载均衡;代表 nginx的proxy是他一个很强大的功能,实现了7层负载均衡。功能强大、性能卓越、运行稳定, 配置灵活简单、能自动剔除工作不正常的后端服务器、上传文件使用异步模式、支持多种分配策略。
    2. nginx负载均衡策略:内置策略:iphash、加权轮询, 
    3. 扩展策略:fair策略:根据后端服务器的响应时间判断负载情况,从中选出负载最轻的机器进行分流。
    4. 通用hash:通用hash比较简单,可以以nginx内置变量为key进行hash、
    5. 一致性hash:采用nginx内置的一致性hash环,支持memcache。

    nginx配置:

    1. 四层负载均衡实现: 通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
    2. LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统;实现服务器负载均衡有三种方式NAT、DR、和TUN。
  • 相关阅读:
    解释机器学习模型的一些方法(一)——数据可视化
    机器学习模型解释工具-Lime
    Hive SQL 语法学习与实践
    LeetCode 198. 打家劫舍(House Robber)LeetCode 213. 打家劫舍 II(House Robber II)
    LeetCode 148. 排序链表(Sort List)
    LeetCode 18. 四数之和(4Sum)
    LeetCode 12. 整数转罗马数字(Integer to Roman)
    LeetCode 31. 下一个排列(Next Permutation)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    论FPGA建模,与面向对象编程的相似性
  • 原文地址:https://www.cnblogs.com/wanglijun/p/10896493.html
Copyright © 2011-2022 走看看