硬件优化

在上线一个业务系统之前,首先需要进行硬件采购。硬件采购的标准是业务系统的运行特点和对资源的占用情况。

举例一:如果要上线一套 Redis 集群

Redis 是内存数据库,特点是占用内存会非常大。采购的时候要重点考虑的硬件资源就是内存,第一内存要大,第二内存资源要可扩展。

Redis 对磁盘读、写并不会很频繁,同时,占用的磁盘空间也不会太大。对磁盘的采购,可以不需要太大的磁盘空间,普通的 SAS 磁盘即可。

举例二:如果要上线的是一套数据库系统

https://pan.baidu.com/s/1WSYgTqmsg5sbIFH1hvyX7w?pwd=iir7

数据库系统的特点是比较耗费 CPU,也比较耗费内存,对数据安全性要求很高。

无论你使用的是 MySQL、SQL Server 还是 Oralce,都需要配置足够快的 CPU,足够大的内存,足够稳定可靠的硬盘,同时硬盘需要做 RAID,RAID10 最好。

操作系统优化

操作系统介于硬件和应用之间,起到一个承上启下的作用。

相关的系统参数设置关系到内存、IO 的调用机制、文件系统的使用效率、进程调度的优先级。

基于 Linux 操作系统的性能优化,具体的优化包含如下几个方面:

  • 操作系统安装优化

  • 进程管理调优

  • 内存资源调优

  • IO 调度调优

  • 文件系统调优

  • 网络传输调优

下图展示了 Linux 的内部结构以及与硬件的协助机制,非常重要。

最底层,是硬件设备(Hardware);往上是固化到硬件中的程序(Firmware);接着是设备驱动程序(Driver),是一种特定形式的软件程序,实现与硬件设备的交互。

操作系统层面的组成部分,首先是系统内核(Kernel),在内核基础之上是系统库、共享库等系统运行必须的库文件(Libraries)。

最上层是系统中运行的应用程序(Applications),就是我们在系统中安装的各种应用软件,例如 MySQL、Samba、FTP 等。

由此可知,操作系统优化是一个从底层硬件到上层软件应用,逐级优化的过程。

应用程序优化

最直观的表现是从日志中发现异常,然后根据日志中的异样进行综合判断得出优化结论。

最容易忽略的是代码优化,有些性能问题完全是代码不合理。比如,for 循环次数过多、作了很多无谓的条件判断、相同逻辑重复多次等。

在排除代码层面的问题后,就需要考虑架构层面、参数配置层面等方面的问题。

架构层面的调优包括读写分离、多从库负载均衡、水平和垂直分库分表,还需要的调优手段有连接池调优、数据库参数调优等。

最后,通过一个对 MySQL 数据库进行调优,简单总结一下需要关注的方面有哪些:

  • MySQL 安装编译优化

  • MySQL 配置文件优化

  • MySQL 存储引擎优化

  • 优化表类型(MyISAM 或 InnoDB)

  • 查询缓存优化

  • SQL 语句优化

  • 锁机制优化

  • MySQL 服务器优化(操作系统参数、存储盘换 SSD 等)

大讲台大数据运维尖刀班4期相关推荐

  1. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(四)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 31.如果发现现有集群出现数据倾斜,生产环境中 HBase 出现数据倾斜了该如何解决呢?出现数据倾斜的原因到底是什 ...

  2. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(二)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 11.CDH 集群扩容 10 台机器后,新加入的 Datanode 角色数据相对较少,如何处理 HDFS 的数据分 ...

  3. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(九)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 81.hdfs数据块的默认大小是多少?过大过小有什么优缺点? 参考答案: 1.数据块默认大小 Hadoop2.0之 ...

  4. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 91.首次启动 HDFS 时,必须对其进行格式化操作的命令? 参考答案: bin/hdfs namenode -f ...

  5. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(八)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 71.Zookeeper的典型应用场景有哪些? 参考答案: Zookeeper是一个典型的发布/订阅模式的分布式数 ...

  6. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十五)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 136.以你的实际经验,说下怎样预防全表扫描? 参考答案: 1)应尽量避免在where 子句中对字段进行null ...

  7. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十四)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 131.hive性能调优的常见方法? 参考答案: (1)HQL层面优化 1)利用分区表优化 2)利用桶表优化 3) ...

  8. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十三)

    持续分享有用.有价值.精选的优质大数据面试题 致力于打造全网最全的大数据面试专题题库 116.怎么解决MapReduce的数据倾斜? 参考答案: 现象:Mapreduce程序在运行的时候,运行了大部分 ...

  9. 阿里巴巴云原生大数据运维平台 SREWorks 正式开源

    简介:阿里巴巴云原生大数据运维平台 SREWorks,沉淀了团队近10年经过内部业务锤炼的 SRE 工程实践,今天正式对外开源,秉承"数据化.智能化"运维思想,帮助运维行业更多的从 ...

最新文章

  1. 嵌入式和机械哪个好?机械转嵌入式好转吗?
  2. [译] Kotlin 标准方法备忘
  3. Go语言 channel
  4. linux查看docker使用率,查看docker容器的内存占用
  5. MATLAB之界面介绍
  6. shell的数组操作
  7. 使用jackson对Java对象与JSON字符串相互转换的一些总结
  8. mysql交给spring管理_Mysql事务结合spring管理
  9. 百度大牛总结的十条Python面试题
  10. K210系列开发板介绍
  11. 定区关联快递员 定区关联收派时间
  12. LeetCode刷题——11. 盛最多水的容器
  13. 机器学习 Machine Learning- 吴恩达Andrew Ng Week2-Octave
  14. java累积度分布,累积分布函数
  15. 什么是第三方支付呢?一文带你入行!
  16. JavaWeb企业在线文档管理系统
  17. postgresql仅修改时间戳的时分秒写法
  18. 数组之entries
  19. ¶àÀ­AÃεĴó½á¾Ö
  20. 读写锁 -- ReentrantReadWriteLock

热门文章

  1. 糟糕程序员的一些迹象与补救方案
  2. 辅助外挂-微信跳一跳
  3. gopath_了解GOPATH
  4. 风暴英雄 服务器在哪个文件夹,风暴英雄国服客户端完整安装方法指引
  5. 问题解决-----ubuntu系统如何给编译出来的可执行文件添加桌面图标,使点击直接运行
  6. 科研工作者(含博士生)每天怎么安排科研和作息才能保证身心健康愉悦呢?...
  7. 研究生论文最容易出现的问题集锦
  8. mysql数据库SQL-删除
  9. win10 关键错误开始菜单和cortana无法工作 的问题
  10. Javascript如何修改数组长度?