Linux性能分析工具汇总
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。本文档主要是结合Linux 大牛,Netflix 性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博
破解 Linux 文件安放之谜:哪里才是绝佳文件归宿?
想象一下,你盯着 Linux 中一大堆晦涩难懂的目录名。你想知道应该把特定类型的文件放在哪里。于是把文件随意放进了 /usr/share,希望这样做是正确的。几天后,你发现应该把它放在 /var/local。我们都有过类似的经历。Linux 的目录结构可能非常令人困惑,甚至有时毫无道理可言。这些名称究竟代表什么?哪里才是放置文件的“正确”位置?准备好解密 Linux 目录,因为我们将踏上一段穿越时
Zabbix深度应用之NMap端口探测
NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。其基本功能有三个:(1)是扫描主机端口,嗅探所提供的网络服务(2)是探测一组主机是否在线(3)还可以推断主机所用的操作系统,到达主机经过的路由,系统已开放端口的软件版本nmap端口状态解析open :应用程序在该端口接收 TCP 连接或者 UDP 报文。closed :关闭的端口对于nmap也是可访问的, 它接收n
案例分享|梅雨季的机房湿度问题如何解决?
6月底,和Q3的KPI一起赶来的是南方的梅雨季。持续不断的降雨,使空气湿度一度高达75%-80%,南方人正式开启高温酷暑下的桑拿模式。高温高湿除了带来体感不适,还会导致心情抑郁、烦燥、易疲倦......毕竟,与此强相关的,还要“照顾”好机房的湿度。机房湿度小常识机房湿度维持在40% ~ 60%是比较健康的状态。湿度过高容易导致设备内部腐蚀、绝缘失效、电路短路等问题,还会滋生霉菌、蚊虫等。湿度过低容
IT流程自动化在数字化转型中的价值
随着企业致力于适应快速变化的技术环境,IT流程自动化在数字化转型中的作用变得越来越重要。数字化转型是将数字技术整合到业务的各个方面,从根本上改变其运营方式并为客户提供价值。这种转变不仅与技术有关,它还涉及文化转变,要求企业不断挑战现状,进行实验,并将失败视为学习和成长的机会。IT流程自动化的主要好处之一是它能够简化操作并减少人为错误的风险。通过自动化重复的任务,企业可以最大限度地减少错误的可能性,
转型内卷下,IT部门如何突围?
在数字化转型极度“内卷”的环境下,传统的IT运维方式无法应对当前的数字化发展需求,在转型过程中,IT部门不但要加深技术与业务的融合,还需要控制成本创造更高的效益。对信息部门的要求进一步提升。需要明确的是,降本增效是长期目标而非阶段要求,IT部门须得迎难而上。显而易见,成本管理是降本的关键。IT部门管理硬件、软件和人力资源。需要通过合理的采购以及供应链管理,获得更好的成本控制和效率提升,进一步优化资
K8s CPU Limits 造成的事故,竟让 Prometheus 轻松解决了?
本文将介绍 Kubernetes 的 resource limits 是如何工作的、使用哪些 metrics 来设置正确的 limits 值、以及使用哪些指标来定位 CPU 抑制的问题。将 limits 中的 CPU 解释为时间概念,可以方便地理解容器中的多线程是如何使用 CPU 时间的。一、理解 Limits在配置 limits 时,我们会告诉 Linux 节点在一个特定的周期内一个容器应用的运
K8s Kubectl 技巧集锦
kubectl 是 Kubernetes 的一个命令行管理工具,可用于 Kubernetes 上的应用部署和日常管理。本文列举了 9 个常见的 kubectl 命令,并总结了一些使用技巧,希望可以帮助系统管理员简化管理工作。一、使用 Kubectl 查询、创建、编辑和删除资源对于刚开始使用命令行工具的开发者,最保险的方法是提出问题(读取操作),而不是发出命令(写入操作),所以从使用 ge
openGauss 数据库 JDBC 客户端配置探索与改进 | 运维进阶
openGauss数据库客户端连接思考openGauss数据库企业级数据库一般采用一主多从的高可用模式。主库可读写,从库提供可读能力。之前在《如何做好openGauss企业级部署》里也探讨过openGauss高可用模式下客户端访问方式的选择。客户端访问方式 openGauss数据库主从架构下,客户端如何连接到主数据库呢?又怎么做读写分离?这个时候就需要讨论下客户端连接数据库的几种方式:
提升 Prometheus 的可用性:一文读懂Thanos 多集群监控
介绍在本文中,我们将看到Prometheus监控技术栈的局限性,以及为什么移动到基于Thanos的技术栈可以提高指标留存率并降低总体基础设施成本。用于此演示的内容可以在下面链接中获取,并提交到他们各自的许可证。https://github.com/particuleio/teks/tree/main/terragrunt/live/thanoshttps://github.com/particul
唯品会宕机惨案,损失超亿元!故障来时如何迅速应对?
01事件回顾对于IT工程师来说,宕机并非新鲜话题,经历过一次服务器宕机,职业生涯才“完整”。但如果事故超过 12 小时,或许会直接造成职业生涯“宕机”。3月29日发生的突发事件,#唯品会App崩了 冲上热搜,系统短时故障导致“加购”等功能出现异常。官方公告称,此次南沙机房重大故障影响时间持续12个小时,导致公司业绩损失超亿元,影响客户达800多万。据悉,造成此次故障的主要原因是南沙&nb
K8s 组件优缺点
Kubernetes 作为事实上的容器编排标准,已在企业和开源社区得到广泛的认同和使用。它不仅提供了高度可扩展、自管理的容器编排平台,具备强大的自动化管理能力,还拥有丰富的生态系统和第三方插件,可以实现各种定制化和扩展化需求。除了普及 K8s 基本知识,例如,Pod 作为最小可部署单元,拥有独立 IP、主机名和进程;K8s 通过众多组件来管理和控制 Pod 的部署、更新、伸缩与网络等,还有哪些不被
基于Go的缓存实现
概念缓存是计算机科学中的一个重要概念。设想某个组件需要访问外部资源,它向外部源请求资源,接收并使用资源,这些步骤都需要花费时间。当组件再次需要资源时,可以再次请求资源,但这种方式从时间上考虑是比较低效的。相反,组件可以将请求结果保存在本地某处,然后再次使用,使用本地数据总是比请求外部数据要快,这一策略就是缓存的基本概念。我们可以在内存、CPU缓存和服务器缓存(如Redis)中找到这些例子。不同用例
云存储服务类型与技术
一、存储服务的类型存储服务的类型根据数据类型的不同,一般分为块存储、文件存储和对象存储三类。块存储基于传统的磁盘阵列实现,将存储区域划分成固定大小的块,以卷的方式挂载到主机操作系统后,操作系统可将其格式化成文件系统,或以裸数据的方式作为数据库的存储。块存储方式不存在数据打包和解包过程,因此应用系统跟存储系统耦合程度紧密,数据访问延迟低、性能高。文件存储指的是存储介质上存储的是目录-子目录-文件这种
数据库故障的发现与处理
一,如何发现数据库故障?1、连接问题,如果应用程序无法连接到数据库,或者连接被拒绝,可能表示存在数据库故障。2、数据库错误日志:检查数据库的错误日志,如MySQL的错误日志、Oracle的跟踪文件等,查找任何与数据库故障相关的错误记录。3、监控工具:使用数据库监控工具来监视数据库的性能指标,如CPU利用率、内存使用率、磁盘I/O等。异常的指标可能指示数据库故障。二、如何排查数据库故障1、检查数据库
如何做好 openGauss 企业级部署?| 运维进阶
openGauss数据库作为开源数据库的后起之秀,这两年开源社区蓬勃发展,越来越多的公司和企业加入到openGauss开源社区。作为纯国产开源的关系型数据库,当前部分银行已经尝试在生产应用openGauss数据库,同时也有很多合作伙伴在openGauss内核的基础上推出各自的商业版本。openGauss数据库至今为止基本保持三月一次发版的节奏。每次发版都会发现内容非常多,不仅包含大功能的新增和改进
慢 SQL 优化之索引的作用是什么?
前言本文针对 MySQL 数据库的 InnoDB 存储引擎,介绍其中索引的实现以及索引在慢 SQL 优化中的作用。本文主要讨论不同场景下索引生效与失效的原因。慢SQL与索引的关系慢SQL优化原则数据库也是应用,MySQL 作为一种磁盘数据库,属于典型的 IO 密集型应用,并且随机 IO 比顺序 IO 更昂贵。真实的慢 SQL 往往会伴随着大量的行扫描、临时文件排序,直接影响就是磁盘 IO 升高、C
做IT运维的,哪有人不疯的
网飞最新的剧集《怒呛人生》大受欢迎的一大原因就是:发疯。在2023年,发疯已经从一种人身攻击,拯救语言匮乏的恶评转移成一个中性词,在某些语境下,等同于冒犯、破罐子破摔。连快乐都不敢的东亚人,为啥发疯会成为一种集体流行,多半还是来自于发疯者本人,自带一种奇异神色:激昂、亢奋,好像经历了一种前所未有的快乐。有没有一种可能,在“发疯”的路上,你我都是追梦人?尼采说,世界是巨大的精神病院,但不是每个人都能
Linux内存管理,一文讲透
一、Linux内存管理概述Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中,内存被划分为多个区域,每个区域有不同的作用,包括内核空间、用户空间、缓存、交换分区等。Linux内存管理的目标是最大限度地利用可用内存,同时保证系统的稳定和可靠性。1.1 什么是内存管理内存管理是计算机系统中负责管理系统内存资源的一种机制,主要包括内存分配、内存释放、内
如何在Docker中抓包?
nsenter 命令是一个可以在指定进程的命令空间下运行指定程序的命令。它位于 util-linux 包中。用途一个最典型的用途就是进入容器的网络命令空间。相当多的容器为了轻量级,是不包含较为基础的命令的,比如说ip address,ping,telnet,ss,tcpdump等等命令,这就给调试容器网络带来相当大的困扰:只能通过 docker inspect ContainerID&n