运维知识库-BigHead
  • 首页
  • 电子书-知识库老版本
  • VIP视频免费看
  • 联系作者
  • 随笔
https://github.com/yongxiaodong
小技能

零侵入应用性能瓶颈分析

常见的性能分析工具 ftrace perf systemTap ... 利用Perf性能分析 perf简介 perf是Linux内核内置的性能分析器,能直接定位高级语言中(比如C/Go)的某个函数甚至某行的性能开销,原理是每隔一段时间就在CPU上产生一个中断,在中断上针对进程、函数附加统计值,这样就知道Cpu有多少时间消耗在哪个进程上,再通过反汇编将指令转换为可视化代码。 简单点: 几乎所有的东西都可以使用跟踪器来跟踪和分析。比如TCP/IP过程、应用程序内部、系统内部等等。利用分析器你可以获得洞悉一切的能力,比如…

2022年07月20日 0条评论 391点热度 0人点赞 阅读全文
K8S

K8S-内存不足时哪个进程会被Kill?

1、场景 K8S中大部分情况下都会对系统进行超卖。超卖就意味着在高峰时间可能会发生资源抢占,此时Qos等级就决定着哪个容器第一个被杀死,释放出的资源可以提供给高优先级的容器使用。 涉及基础理论: 一个pod可以包含多个容器,同一个pod中的容器一定会运行在同一个节点上 容器的本质就是一个进程,所以容器的优先级等于后续章节提到的进程优先级 CPU使用量超过limits限制不会杀死容器,但是内存使用率超过limits限制会尝试重启容器 2、Qos等级分类 K8S中pod的优先级从低到高一共分为3个等级 besteffo…

2022年07月10日 0条评论 732点热度 0人点赞 阅读全文
K8S

一次K8S出口网关性能问题排查

故障症状 网关监控出现连接数突增突降的情况,监控显示网关丢弃了某些SNAT连接,K8S中某些应用调用第三方接口偶尔会失败,不稳定(已知第三方平台稳定提供服务) 分析过程 1、分析网关SNAT连接被哪个K8S节点占用 2、登陆K8S节点,查看节点连接数 3、docker top containerID 查看节点上所有的容器的PID 4、获取每个进程的连接数,通过进程判断链接是哪个容器产生的,从而定位到具体的Pod 分析网关SNAT连接被哪个节点占用 这一步一般可以通过监控直接分析出来 监控显示连接数每半个小时突增一次…

2021年06月10日 1条评论 1645点热度 4人点赞 阅读全文
K8S

nsenter显示容器tcp链接情况

lsof 看到的进程是在其他网络名称空间中运行的,比如LXC、LXD中,因此lsof无法访问相关信息,也无法显示它,正常情况应该显示ipv4或者IPv6。lsof以sock代替ipv4或者ipv6需要使用nsenter命令(netstat 连lsof显示的tcp信息也看不到) lsof -p 2380548 nsenter -t 2380548 --net lsof -n -p 2380548

2021年06月09日 0条评论 1212点热度 4人点赞 阅读全文
小技能

Varnish手动清理缓存

使用purge请求清理单个url缓存(需要在purge允许的IP范围内) curl -I -X PURGE 'http://www.xxx.com/pmc/data-static.html' 使用varnishadm正则清理 [root@dtkdb_newweb_mgr2 varnish]# varnishadm -S /usr/local/etc/varnish/secretfile -T 127.0.0.1:8089 200 ----------------------------- Varnish Cache…

2021年04月12日 0条评论 1478点热度 2人点赞 阅读全文
Nginx

Varnish接口级缓存系统

更新中

2021年03月07日 0条评论 1270点热度 0人点赞 阅读全文
Nginx

高性能应用-在nginx上用lua查库并缓存到Nginx共享内存

功能 lua查库并缓存Nginx共享内存 lua调用接口缓存接口数据到Nginx共享内存 本文使用的rewrite阶段执行lua,关于Nginx的执行阶段自行了解 首先在nginx主配置文件申明共享内存 lua_shared_dict domain_mem 10m; lua_shared_dict open_url_mem_min 10m; lua_shared_dict open_appkey_mem_day 10m; lua_shared_dict my_limit_req_store 30m; lua_sha…

2021年03月07日 0条评论 1329点热度 1人点赞 阅读全文
Nginx

openresty+lua+srcache+memcached实现静态容灾系统

本文更新中,待完成 目的 当后端应用故障不可用时,从容灾系统中获取数据并返回给用户,能正常提供最基本数据浏览功能 需要能够正常返回HTML页面、非用户态接口数据等等 ps: 研发菜鸡,不相信研发的降级服务能力,作为运维又不想背服务全崩的这个锅,那就开始实施吧。 需要重点思考的问题 容灾系统应针对接口级进行判断和缓存,并采用不侵入业务式的设计 只有当后端接口不可用时,才获取缓存数据,并做到接口级判断;例:A/B接口相互独立,当后端只有A接口不可用时,A接口从容灾系统获取数据并返回给用户,B接口正常从后端获取数据并返回…

2021年03月06日 0条评论 3489点热度 3人点赞 阅读全文
Jenkins

Jenkins pipeline添加自动获取分支案例

在jenkins构建时,自动从git获取所有的分支名,并显示出来供用户选择过滤 效果图: pipeline代码示例 pipeline { agent any options { buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '15', numToKeepStr: '15') } parameters { string defaultValue: 'https://gitlab…

2021年02月26日 0条评论 4057点热度 3人点赞 阅读全文
K8S

Endpoint建立

如将 以下3个IP的外部elasticsearch做成service名称,提供给pod内应用配置文件使用 - ip: 192.168.12.200 - ip: 192.168.12.201 - ip: 192.168.12.202 apiVersion: v1 kind: Endpoints metadata: name: external-elasticsearch namespace: default subsets: - addresses: - ip: 192.168.12.200 - ip: 192.16…

2021年02月19日 0条评论 1282点热度 0人点赞 阅读全文
12
文章归档
  • 2022年7月
  • 2021年6月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2020年8月
  • 2020年7月
分类目录
  • ELK
  • Jenkins
  • K8S
  • Nginx
  • Openvpn
  • Python
  • 小技能
  • 未分类

COPYRIGHT © 2020 运维知识库-BigHead. ALL RIGHTS RESERVED.

蜀ICP备16012425号