说明:以下所有的指标都是在线服务,对于离线服务本人不熟悉.

吞吐量优化通常是在耗时能够满足业务需求的情况下进行优化,不能说单机可以处理1wqps,结果请求rt或者99线达到10s,这样肯定不行.

吞吐量的瓶颈有可能是服务本身容易达到瓶颈,下游服务容易达到瓶颈.

1.下游服务达到瓶颈

下游服务可能是db,mq,业务服务等等等架构上支持水平扩容,那么这就变成了钱的问题,加机器就完事了.

不支持水平扩容:数据库连接数已经快满了,这样就不能单纯的扩容了,此时可以进行业务的垂直拆分,把一部分业务拆分到独立的集群中.同时进行DB的拆分,这样可以降低DB的负载.

读写分离:让对数据的实时性不敏感的读请求 访问slave,避免所有的请求落到主库压力过大.或者通过CQRS架构,将query请求直接通过es检索.

业务垂直切分:把一个服务分为多个服务,服务功能保证聚合,这样是向微服务的方向发展。

2.服务本身达到瓶颈

服务本身达到瓶颈的原因比较多,可能是cpu,磁盘或者网卡达到瓶颈,这些依赖于服务的类型.或者由于代码有些问题,导致程序不能充分利用资源.一下说明单纯从技术角度分析,不涉及业务流程,每个业务的业务流程都不一样,能够优化业务流程比单纯的优化代码通常效果更好.cpu先达到瓶, 针对cpu的优化很多,对于web后端来说,上下文切换和各种伪共享是其中的一个比较主要的优化点工具:perf,火焰图,top等

引起上下文切换的原因:IO等待,锁等待等,可以优化IO模型(通常被底层框架封装,比较难以优化),优化锁等待通常会减少锁的力度,分片锁,无锁结构

磁盘瓶颈:对于hdd来说,因为有寻址等开销,通常会通过顺序写入数据来提升吞吐量,比如kafka和mysql. 对于ssd来说,本人不清楚,不多费口舌

网卡瓶颈: 可以尝试开启网卡多队列,提升网卡的性能. 如果业务上能进行网络数据的压缩,减少网卡的压力,也能够提升吞吐量.

业务优化下面说的都比较笼统:

1.空间换时间:

手段:用kafka堆积数据,进行消峰

2.时间换空间:

3.批量处理:批量更新,批量删除等等

4.减少业务请求:具体业务具体分析

5.资源池预加载:对象池,线程池

6.配置优化:java gc优化,php代码解析缓存优化等等

7.缓存优化

吞吐量达到瓶颈后下降_性能优化四-吞吐量相关推荐

  1. 吞吐量达到瓶颈后下降_如何找到 Kafka 集群的吞吐量极限?

    Kafka 是非常流行的分布式流式处理和大数据消息队列解决方案,在技术行业已经得到了广泛采用,在 Dropbox 也不例外.Kafka 在 Dropbox 的很多分布式系统数据结构中发挥着重要的作用: ...

  2. 吞吐量达到瓶颈后下降_中港协:八大枢纽港集装箱吞吐量增速创新高

    10月下旬,中国港口协会监测沿海主要枢纽港口货物吞吐量同比下降5.5%,其中外贸货物吞吐量同比下降4.7%:长江枢纽港口吞吐量同比增长25%.详情如下: 一.八大枢纽港口外贸集装箱吞吐量保持较快增长 ...

  3. 吞吐量达到瓶颈后下降_TD-HSDPA空口吞吐量或成瓶颈-通信/网络-与非网

    在初步满足室外覆盖的现阶段,TD网络建设应将重点转到室内覆盖.提高网络空口吞吐量以满足容量需求,这是移动运营商为今后提供优质数据服务所面临的重要挑战. 关注室内覆盖和容量需求 中国移动虽然在38个城市 ...

  4. 吞吐量达到瓶颈后下降_TD-HSDPA空口吞吐量或成瓶颈

    TD-HSDPA 空口吞吐量或成瓶颈 中国电子科技集团公司第七研究所 李进良 在初步满足室外覆盖的现阶段, TD 网络建设应将重点转到室内覆盖. 提高网 络空口吞吐量以满足容量需求, 这是移动运营商为 ...

  5. oracle的优化适用于mysql吗_性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化...

    本文为性能优化的第一篇--数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...

  6. mysql客户端工具_性能优化-理解 MySQL 体系结构(MySQL分库分表)

    实例和数据库 我们通常所说的 MySQL 数据库服务器由一个实例(instance)以及一个数据库(database)组成.实例包括一组后台进程/线程和许多内存结构,用于管理数据库:数据库由一组磁盘文 ...

  7. vue延迟渲染组件_性能优化之组件懒加载: Vue Lazy Component 介绍

    这篇文章分享了从遇到前端业务性能问题,到分析.解决并且梳理出通用的Vue 2.x 组件级懒加载解决方案(Vue Lazy Component )的过程. 初始加载资源过多 问题起源于我们的一个页面,下 ...

  8. 使用UE4开发VR项目_性能优化(一)_常用工具

    原作者:Mullin-ぼくリん <使用UE4开发VR项目-性能优化>系列文章将分成三篇分别介绍使用UE4开发VR项目的一些工具使用和VR优化思路.目的是总结UE4开发VR项目中常用的一些调 ...

  9. apache php 调优_性能优化之PHP优化

    一.语言级性能优化(一) PHP 性能问题的解决方向 PHP语言级别的性能优化 => PHP周边问题的性能优化 => PHP语言自身分析.优化 1.压力测试工具 Apache Benchm ...

最新文章

  1. java开源写字板_简单的写字板 - 努力喵的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 10分钟,快速使用VUE-VUEX
  3. linux 配置sftp日志,在CentOS 7.5上为SFTP配置ProFTPd
  4. 用R语言分析我的fitbit计步数据
  5. java mplayer 源码_师兄写的一个JAVA播放器的源代码
  6. java局部变量简述
  7. 【前端】Github Pages 与域名关联简明教程
  8. SpringCloud工作笔记064---intellij idea 如何将一个普通项目转换为maven项目
  9. 集团性企业数据信息系统解决方案
  10. 电能储存系统行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  11. 14.jQuery常用方法
  12. 硬盘安装 Ubuntu 9.04 与 XP 双系统 (含 Grub 不写入 MBR 的方法)
  13. 【redis客户端登录】
  14. Latex学习笔记——字母的变体(正体、花体)
  15. My97DateTimePicker使用说明
  16. 水比赛系列-HMI串口屏的使用
  17. Mongodb索引及explain
  18. 如何保存在线文档html代码,html代码怎样保存和使用
  19. etr2模式,时力高HXD1C转换开关KRGV+ETR2
  20. CSDN资源下载 不限积分/C币 都可以下

热门文章

  1. mysql 连表查询 好处,MySQL 多次单表查询和多表联合查询的优缺点分析-Fun言
  2. 100天精通Oracle-实战系列(第1天)保姆级 VirtualBox 虚拟机安装 Linux 系统
  3. python解析flv协议(AMF数据)
  4. python线程挂起唤醒暂停按键_time.sleep在python中挂起多线程函数
  5. java计算机毕业设计高校学生资助管理信息系统MyBatis+系统+LW文档+源码+调试部署
  6. [coreboot]coreboot porting for x86|Aaron Durbin
  7. blender怎么移动骨骼_cocos2dx blender 骨骼动画实现
  8. 猿创征文|一名大三学生的前端学习之路(真情流露)
  9. LeetCode 174. 地下城游戏
  10. python的魔法方法(magic method)