系统优化、受到压力、出现瓶颈怎么解决?

1. 你任务目前的系统业务量增加10倍  可能出现瓶颈的业务节点时什么?(根据自己的业务思考,10倍压力不够的,那就100倍吧,100倍在不需要的话辞职吧)

对客户来说,直观感觉应该在如下三方面感觉不好
登录页面缓慢
查询访问缓慢
增删改缓慢

一:流量,如果是10倍或者是100倍,我们最大的压力可能是流量,对于整站https,很多东西不能上cdn,和云存储,静态的东西相对比较少,一些图片放在云上,七牛或者又拍云。但是我们这个行业,如果业务增加到100倍,估计就是行业的巨头了,到时候买流量也没有什么压力;

二:中间件压力,对宇前端可以用nginx和ha来负载,但是反向代理的中间件比如tomcat,默认并发是150.肯定来不及处理前端的数据,然后尽量做到异步来处理信息,我们是用的阿里开源的rockermq集群和zookeeper,这点和电商是有区别的

三:数据库的压力,相对于电商的数据,我们要的相当于安全。数据库的压力对于对与普通电商来比相对较小;但是也有是,我们变态的地方是日志也记录在DB中

四:服务器的压力,堆一大堆的服务器是必须的,由于行业原因,我们是不上公有云的,所以后期肯定是docker化;

五:构建,发布,回滚。现在我们已经是分布式的微服务,100多个应用,单单用jenkins是有压力的。

六:安全:网络,数据库,灾备的安全都要考虑进去



2. 你想用什么样的办法 优化你的系统

扩容方式:
             采购硬件进行扩容,包含新购主机,更换机械硬盘到SSD盘,热点数据存放到SSD盘,增加读写响应能力
优化方式:
             优化操作系统参数(读写参数)、优化架构(读写分离)
             调整数据库参数,清理历史数据
             根据业务逻辑调整SQL,优化索引,信息收集,数据整合

一:流量:不涉及money和隐私的全不用云或者cdn。买流量;

二:尽量异步和对应用的服务器来提高中间件的处理速度

三:数据库集群,redis,对于业务的需求使用不同类型的数据库,当然数据库优化是最基础的

四:服务器数量的增多,肯定是要docler化。批量管理工具ansible+salt联合使用,估计监控zabbix也要重新定制和二次开发

五:构建,发布,回滚必须有个二次开发的平台。多种自动化的工具配合使用

六:对于代码级别的要找专业的安全公司去审核。然后机房必须做到异地灾备;

3. 增加10倍的压力后。你想怎么管理你的服务器

(1)系统整体迁移到阿里云
(2)改进硬件环境,向老板申请出资购买更昂贵的服务器
(3)提高CPU并发计算能力
(4)改进服务器并发策略

(5)用saltstack ansible puppet集中管理啊

(6)zabbix监控主机的CPU、内存等信息或者通过nagios进行监控
 (7)文件系统级别自动进行空间告警和清理。
 (8)数据库级别监控数据库的服务,数据库正常与否。

(9)二次开发造个大轮子,cmbd。那个时候,钱不会少。也会好玩很多。

时间: 2024-10-02 03:55:50

系统优化、受到压力、出现瓶颈怎么解决?的相关文章

《java系统性能调优》--1.发现瓶颈

性能啊!性能! 之所以想写写性能调优,也是有感于我们的项目,我们采用一些手段使得系统性能上升了一个台阶,总是需要把这点经验沉淀一下.随着工作的深入,关于系统性能的事肯定还有很多,也算是通过这个系列文章做做笔记.优化可能包括应用级别的优化,也可能包括代码级别的优化. "要进行优化,先得找到性能瓶颈!" 忘记是从哪里看到了这句话,但总算切中要害. 但在找性能瓶颈之前,我们总要先对系统性能有一个概念. 如何在不购买新硬件的条件下完成更多的工作?何时才真正需要添加硬件(更多的内存,更快的磁盘.

如何识别SQL Server中的IO瓶颈

原文:如何识别SQL Server中的IO瓶颈 原文出自: http://www.mssqltips.com/sqlservertip/2329/how-to-identify-io-bottlenecks-in-ms-sql-server/ 问题: 我们可能经常会遇到SQLServer数据库频繁关闭的情况.在分析了内存和CPU使用情况后,我们需要继续调查根源是否在I/O.我们应该如何识别SQLServer是否有I/O相关的瓶颈? 解决: 当数据页经常从缓冲池中移进移出的时候,I/O子系统就会成

压力测试工具收集

#apache abyum install apr-util #webenchwget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gztar zxvf webbench-1.5.tar.gzcd webbench-1.5make && make install #wrkModern HTTP benchmarking toolhttps://github.com/wg/wrk #gatlingAsync Scala-A

通过vmstat命令判断服务器瓶颈

linux命令vmstat介绍vmstat介绍通过STATSPACK收集服务器信息,主要通过收集VMSTAT的信息来展现服务器状况.VMSTAT工具是最常见的UNIX监控工具,可以展现给定时间间隔的服务器的状态值. 一般VMSTAT工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数.如:[[email protected] oracle]$vmstat 2procs ———–memory———- —swap– —–io—- –system– —-

mysql的插件式的存储引擎

转载 https://www.zhihu.com/question/19866767/answer/14942009 http://whuai.blog.51cto.com/3539000/862197 Oracle: 数据文件包括:控制文件.数据文件.重做日志文件.参数文件.归档文件.密码文件.这是根据文件功能行进行划分,并且所有文件都是二进制编码后的文件,对数据库算法效率有极大的提高.由于Oracle文件管理的统一性,就可以对SQL执行过程中的解析和优化,指定统一的标准:RBO(基于规则的优

Linux 系统监控、诊断工具-top,vmstat,iostat,iotop

1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了. 同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件.硬件层面分别寻找解决方案. 2.排查: 从 top 中可以看到 load average 偏高,%wa 很高,%us 偏低: 从上图我们大致可以推断 IO

老李分享:性能优化的境界

这篇文章是关于网站性能优化体验的,性能优化是一个复杂的话题,牵涉的东西非常多,我只是按照我的理解列出了性能优化整个过程中需要考虑的种种因素.点到为止,包含的内容以浅显的介绍为主,如果你有见解能告知我那再好不过了.无论如何,希望阅读它的你有所收获. 我眼中的网站性能问题都反映了一个网站的“Availability”(中文叫做可用性,但是这个翻译也不足够达意),以往我的认识是,这个网站如果全部或者部分不可用,那是功能问题,但是如果响应慢.负载差,这才是性能问题:可是后来我逐渐意识到,性能问题涵盖的范

【Mongodb教程 第十六课 】 分享NO-SQL开发实战

最近研究了一下NOSQL,现整理目录如下: 一.关系数据库的瓶颈: 二.NOSQL概述: 三.NOSQL中的热门数据库MongoDB介绍及安装配置: 四.MongoDB开发模式及实战: 一.关系数据库的瓶颈 从90年代到至今,关系数据库扮演了最重要的角色,它的性能,可扩展性.稳定性.数据的备份和恢复机制等都非常好,关系数据库发展到现在已经非常成熟,它提供给使用者的是一整套体系,包括数据存储.数据备份恢复.数据加解密.应用开发驱动.图形化配置维护工具.安全策略等等.图1中展示了世界上各种数据库的使

搭建高可用mongodb集群—— 分片

从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的时候能否做到自动扩展? 在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题. 传统数据库怎么做海量数据读写?其实一句话概括:分而治之.上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图: 上图中有个TDDL,是taobao的一