自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(554)
  • 收藏
  • 关注

原创 mysql批量插入数据如何更快

有个需求,需要向数据库插入300万数据,测试一个性能。再来看下面的,利用事务批量提交,30秒钟全部插入完成。先看第一次的插入,非常慢,十分钟只写入十几万条。这里使用存储过程来循环插入。

2025-12-16 16:22:21 204

原创 lsof命令的基础用法及底层原理

通过解析内核暴露的/proc文件系统,追踪每个进程与系统资源(文件、网络、设备等)之间的连接关系,将抽象的内核数据结构转化为人类可读的列表。它就像系统的全局连接追踪器,无论进程打开了普通文件、网络连接,还是管道、设备,lsof都能找到这些连接,并告诉你"谁连着谁"。这种能力使得lsof成为系统调试、安全审计和性能分析的瑞士军刀。

2025-12-04 16:20:50 755

原创 nsenter命令详解及底层原理

nsenter基于 Linux 命名空间机制使用setns()系统调用实现可用于容器调试、系统维护和故障排查提供了比更底层的访问能力理解nsenter的原理和用法,对于深入理解容器技术和 Linux 系统隔离机制非常有帮助。nsenter基于 proc 文件系统:通过目录访问命名空间使用 setns() 系统调用:这是核心机制,允许进程动态加入已有命名空间引用计数管理:确保命名空间在有引用时不被释放特殊的 PID 命名空间处理:需要 fork() 创建子进程才能看到新的 PID 编号。

2025-12-02 16:19:44 675

原创 专门用来练习shell脚本

1、一个不错的练习shell脚本,里面包含了关联数组的定义和循环取key-v、函数的定义和传参及状态的返回、循环读取文件、条件判断、数学运算、文本三剑客的使用、全局变量局部变量的定义和变量的自增,算是一个小综合了。1、最多输错三次账号密码后锁定。2、锁定1分钟后解锁。

2025-11-13 15:11:22 149

原创 高级篇:Python脚本(101-150)

中级篇点这里1.1 多线程编程.py1.2 多进程编程.py1.3 异步编程.py1.4 协程和生成器协程.py1.5 并发编程实战.py2. 网络编程 (5个脚本)2.1 Socket编程基础.py2.2 HTTP客户端和服务端.py2.3 WebSocket实时通信.py2.4 网络协议实现.py2.5 网络安全编程.py5. 数据分析 (5个脚本)5.1 数据分析基础.py5.2 数据清洗和预处理.py5.3 数据可视化分析.py5.4 时间序列分析.py5.5 高级数

2025-10-17 17:18:15 1015

原创 进阶篇:Python脚本(51-100)

1.1 类和对象基础.py1.2 继承和多态.py1.3 封装和属性控制.py1.4 抽象类和接口.py1.5 特殊方法和运算符重载.py2. 模块和包 (5个脚本)2.1 自定义模块.py2.2 模块导入和使用.py2.3 包的结构和导入.py2.4 动态导入和反射.py2.5 模块搜索路径和sys.path.py3. 装饰器 (5个脚本)3.1 函数装饰器基础.py3.2 带参数的装饰器.py3.3 类装饰器.py3.4 装饰器链和functools.wraps.py3.

2025-10-17 17:12:49 682

原创 Python 练习脚本(从基础到高级150个练习)

8.1 函数基础.py# 8.1 函数基础.py"""演示函数基础"""# 定义简单函数")# 调用函数greet()# 带参数的函数# 8.1 函数基础.py def function_basics() : """演示函数基础""" # 定义简单函数 def greet() : print("Hello, World!") # 调用函数 greet() # 带参数的函数 def greet_name(name) : print(f"Hello, {name }!

2025-10-17 17:08:00 508

转载 UnixBench和Geekbench进行服务器跑分

服务器的基准测试,常见的测试工具有UnixBench、Geekbench、sysbench等。本文主要介绍UnixBench和Geekbench。

2025-10-09 17:16:54 96

转载 强大的FFmpeg

FFmpeg是一个跨平台的命令行工具和开发库,用于处理音频、视频、字幕、图片等多媒体文件。ffmpeg:用于音视频转换和处理(最常用)ffprobe:用于分析音视频文件信息(如时长、分辨率)ffplay:简易音视频播放器(基于 SDL)libavcodec等:底层开发库(供程序员调用)项目内容📦 名称FFmpeg🧰 核心工具ffmpegffprobeffplay💡 用途音视频转码、剪辑、分析、流媒体、滤镜等🖥️ 支持平台📚 学习资源🧑‍💻 开发者。

2025-09-30 10:56:19 78

原创 raid各个等级的区别

RAID 级别最低硬盘数容错能力(可坏几块盘)可用容量读性能写性能关键特点RAID 020(坏一块全丢)100%极高极高纯速度,无安全RAID 12N-1(镜像盘不坏即可)50%高(读可并行)中等纯安全,容量损失大RAID 531(N-1)/N高中等性能、容量、安全的平衡之选RAID 642(N-2)/N高较低高安全性,适合大容量盘RAID 104至少1块(同组不能全坏)50%极高高高性能+高安全,成本高。

2025-09-25 14:18:56 1120

原创 免费看云盘高清视频

openlist的前身叫alist,听说开发者卖给了另一个团队,然后又开源了openlist,大佬不愧是大佬,这工具确实叼,基本上市面上的网盘都支持,至于有没有拿着你的cookie看你的私密照,就不知道了 - _ -先使用夸克浏览器搜索夸克网盘,然后登录,登录之后在你的文件列表页面打开F12,如果不知道怎么打开F12,那就不用继续了,随便找个请求,将里面的cookie复制出来,贴到上面那个箭头cookie位置。再点击左下角的主页,就可以看到刚刚添加的挂载目录,点击进去,就可以看高清视频了。

2025-09-23 16:06:09 364 1

原创 elasticsearch基本使用

Elasticsearch是一个基于的搜索服务器,也是属于NoSQL阵营的数据库。它提供了一个分布式多用户能力的,基于RESTful web接口提供给我们操作的。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。除了es以外, Sphinx 、迅搜、Zebra、Solr 、Whoosh。官网:https://www.elastic.co/cn/elasticsearch/

2025-09-15 16:31:41 725

原创 测试单节点elasticsearch配置存储压缩后的比率

通过Docker部署单节点Elasticsearch 9.1.0并启用索引压缩,可在测试/开发环境中显著节省存储空间。生产环境中建议结合实际业务需求评估压缩带来的存储节省与性能影响,并务必启用安全功能和数据备份策略。。## 8. 常见问题解决:Docker仓库安装失败。

2025-08-06 17:20:37 1145

原创 java服务线程泄露临时解决脚本

最近线上出了个问题,因为线程泄露导致的(正常服务的线程都在200以内),至于是如何泄露的,目前还不知道,解决办法就是每十分钟跑一次,当检测到节点上面某个服务的线程大于300的时候,就去重启对应的pod。

2025-07-26 14:31:59 191

原创 一些比较全的工具镜像

这些镜像都经过优化,大小在 100-300MB 左右,适合在生产环境临时使用。

2025-07-24 16:08:17 330

原创 查找服务器上存在线程泄露的进程

springboot内嵌两种Web服务器,Undertow和Tomcat,业务正常情况下线程数都不会大于200太多,如果大太多,那么有可能程序存在线程泄露的问题,更进一步可能会导致业务不可用。

2025-07-18 15:48:50 284

原创 高并发情况下应用程序的资源问题排查

在高并发情况下,应用程序中最容易被"占满"的资源通常是那些的资源。TIME_WAIT在高并发架构设计中,核心思路就是。线程池和数据库连接池几乎总是最先面临挑战的点,而内存溢出则是最具破坏性的故障。

2025-07-18 13:53:38 1284

原创 如果程序夯住,监听的端口还会正常监听吗

程序状态端口监听服务可用性客户端体验正常运行✅✅正常响应夯住但进程存活✅❌连接成功但无响应崩溃退出❌❌OOM被杀❌❌死锁阻塞✅❌连接成功但无响应💡关键结论:端口监听状态只能证明程序初始化成功并注册了端口,不能证明服务实际可用。必须通过应用层探针验证服务健康状态。

2025-07-16 15:40:53 928

原创 pod里面没有查看端口的命令,如何确定端口是否正常监听

生产环境推荐在应用启动日志中明确输出监听端口(如 “Server started on port 8080”),这是最直接的确认方式。首先尝试 /dev/tcp。如果失败(如容器没有。

2025-07-16 15:27:06 574

原创 项目雪崩后如何排查问题

在项目未实现熔断和限流机制的情况下,面对突发的系统问题,排查和监控需要更依赖基础监控、日志分析和快速响应。以下是系统的排查方法和监控建议:错误日志聚焦:请求流量分析:线程堆栈分析(Java示例):3. 链路追踪手动跟踪请求:在日志中插入唯一ID(如),串联跨服务调用。临时启用分布式追踪(如Jaeger/SkyWalking),即使未提前集成,也可快速部署Agent。4. 流量特征分析突发流量识别:对比历史流量:(查看网卡流量变化)。分析User-Agent:恶意爬虫或异常客户

2025-07-16 13:09:01 673

原创 程序“夯住“的常见原因

程序"夯住"(hang)是指程序停止响应、无法继续执行的状态,通常由多种复杂因素引起。

2025-07-15 17:28:37 440

原创 批量下载ftp里面的文件

注:以下脚本来源于deepseek,生产环境检查后执行。通配下载ftp里面的多个文件。

2025-07-08 14:28:40 258

原创 灰度发布怎么保证数据库一致的

此方案以最小代价实现数据库灰度发布,已被阿里/腾讯等大厂广泛验证。以下内容来源于deepseek答案,生产环境以实际情况为主!,任何破坏性变更都应拆解为多个兼容步骤执行。在灰度发布中保证数据库一致的。

2025-06-25 17:39:53 1013

原创 linux磁盘无法清理问题

问题比较奇怪,通过deepseek搜了一些答案,但通过答案并没有解决,但是也获得一些提示,大概率是因为某个文件删除了但是空间没有释放,然后通过业务侧排查,发现该节点上有个服务的日志打得非常频繁,故猜测可能是此服务的问题,然后在业务低峰期重启了该服务,问题顺利解决,磁盘变为20%占用,但其中的深层次原因目前还不知道是什么。:文件被删除后,若仍有进程正在使用它,该文件占用的磁盘空间不会立即释放。:文件实际占用磁盘空间小于逻辑大小(如虚拟机磁盘文件)。:若差异由未释放文件引起,重启系统是最直接的解决方法。

2025-06-09 11:37:52 961

原创 清理skywalking历史索引

【代码】清理skywalking历史索引。

2025-05-27 11:53:39 337

原创 下载rhel官方ISO镜像

这是地址,需要先注册一个账号,免费的。

2025-05-16 14:22:19 1602

转载 eBPF技术简介及衍生工具的介绍

CNCF“eBPF 是我见过的 Linux 中最神奇的技术,没有之一,已成为 Linux 内核中顶级子模块,从 tcpdump 中用作网络包过滤的经典 cbpf,到成为通用 Linux 内核技术的 eBPF,已经完成华丽蜕变,为应用与神奇的内核打造了一座桥梁,在系统跟踪、观测、性能调优、安全和网络等领域发挥重要的角色。为 Service Mesh 打造了具备 API 感知和安全高效的容器网络方案 Cilium,其底层正是基于 eBPF 技术”1. BPF。

2025-05-16 11:29:36 247

原创 calico排错思路

定位问题范围:同节点/跨节点?是否涉及策略?验证基础环境:Pod IP 分配、节点状态、组件日志。检查路由与 BGPip route。分析网络策略:iptables/eBPF 规则、策略匹配逻辑。高级工具辅助:tcpdump、eBPF 工具链、WireGuard 诊断。参考文档Calico 官方排错指南。通过以上步骤,可覆盖 90% 的 Calico 网络问题。对于复杂场景(如多云混合网络),需结合具体底层网络拓扑分析。

2025-05-15 10:50:47 1579

原创 flannel的原理及排错思路

Flannel 通过子网分配和覆盖网络技术,为 Kubernetes 集群提供了简单高效的容器网络方案。选择 VXLAN 或 host-gw 取决于网络环境(是否支持直接路由)。对于性能敏感的场景,host-gw 是理想选择;而跨子网或云环境则更适合 VXLAN。当 Flannel 出现网络故障时,需要按照分层排查的思路逐步定位问题。

2025-05-15 10:13:51 907

转载 通过pod登录k8s节点

此脚本提供了一种云环境无关的 Kubernetes 调试方式,但需注意其权限和安全影响。分享一个连接k8snode节点的脚本,github大佬写的。原理就是利用容器特权用户和hostpath来实现的。

2025-05-14 11:06:35 121

转载 容器的一些安全建议

在容器服务 Kubernetes 版中,通过限制容器以特权模式运行、限制应用程序进程以root身份运行、禁用Service Account令牌自动挂载等方式,可以有效防止容器中运行的进程逃离容器的隔离边界并获得对宿主机的访问权限。此外,通过正确配置Pod安全策略,如限制使用HostPath、为每个容器设置请求和资源限制、禁止使用特权提升配置等,可以进一步加固集群的安全性,防止集群成为攻击者利用的目标。这些措施有助于确保容器环境的安全性和稳定性,减少潜在的安全风险。

2025-05-14 10:13:20 139

转载 后渗透——Docker容器逃逸

在渗透测试中,若获取了目标主机的shell但发现其运行在Docker环境中,需进一步逃逸到宿主机。Docker容器逃逸的本质是受限进程获取未受限的完整权限,类似于提权操作。逃逸方法包括检测容器环境、利用API漏洞、危险配置、危险挂载、程序漏洞和内核漏洞等。例如,通过Docker远程API未授权访问漏洞,攻击者可以远程管理Docker容器,甚至通过挂载宿主机目录获取宿主机权限。具体步骤包括配置Docker支持远程访问、利用脚本或手动方式启动容器并挂载宿主机目录,最终通过写入定时任务或直接访问宿主机文件系统实现

2025-05-14 10:03:45 229

转载 could not locate a valid checkpoint record的产生原因及解决

​ 不得不说一句,天下博客一大抄。恶心的是该写的关键步骤都不写,还对关键信息打码。前因后果和影响因素也不稍微描述下。以下均为错误示范,网上NC博客远不止这些:1)删除 /var/lib/pgsql/12/data/pg_tblspc 目录下文件的,也就是 PostgreSQL 数据目录下的 pg_tblspc 文件。这删了就真没辙了。(PASS)2)尝试通过 docker 的 数据卷恢复数据的。这是纯扯淡,我连容器都起不来,一直在重启,我要能进容器,我就直接用 PG 的恢复数据工具直接上手了。

2025-04-25 13:53:59 502

转载 ElasticSearch-解决Failed: 1: this action would add [5] total shards, but this cluster currently has [9

本文介绍ElasticSearch总分片数量导致的异常的解决方案。异常的日志为:this action would add [5] total shards, but this cluster currently has [1000]/[1000。

2025-04-24 11:38:44 107

转载 git提交不上去-modified content, untracked content

原因:子文件夹之前有单独的仓库,现在为方便管理,将其统一到a文件夹中,并与之前的远程仓库断掉(git remote rm origin),但是似乎仍然被之前的仓库追踪。起因:将父文件a(包含多个vue项目)放入仓库时,执行git commit之后提示modified content, untracked content。过程:根据百度到的方法,删除每个子文件中的.git文件(命令:shift+command+.),然后继续执行add .等操作,但并没有解决。

2025-04-22 13:41:15 275

原创 linux查看jar内容

4、通过这个工具来反编译class文件,然后查看内容。5、再顺着包路径找过去,就可以直接用vim查看了。2、通过包目录找到对应class文件的位置。

2025-04-16 15:02:40 909

转载 使用Rootkit隐藏踪迹:技术解析与检测策略

注:在ubuntu18上面测试没问题,可以正常隐藏进程,但是在centos7上面就报错,无法安装Rootkit是一种高级的恶意软件,它能够隐藏进程、文件、网络连接等,使得攻击者能够在不被受害者察觉的情况下控制系统。Rootkit通常通过替换或篡改系统文件来实现其隐藏功能。Rootkit作为一种高级持续性威胁,对网络安全构成了严重威胁。通过使用如Reptile和rkhunter这样的工具,安全专家可以更好地理解Rootkit的隐藏机制和检测方法。

2025-04-12 14:50:19 306

转载 应急响应——让Linux下的隐藏手段(Rootkit)无所遁形

本文主要针对黑灰产、以及蠕木僵毒等恶意软件在linux上常用的rootkit手段做一些总结,以及详细分析常见应急响应中遇到的进程、文件隐藏手段的原理以及排查和恢复方法;从技术实现原理上看,笔者把其常见的rootkit隐藏手段大致分为五大类:1、通过文件挂载实现隐藏2、通过用户层劫持链接器或链接库实现隐藏3、通过劫持系统环境变量,劫持相关命令,从而实现对影藏4、通过内核层劫持实现隐藏5、通过ebpf完成的动态劫持内核逻辑实现隐藏。

2025-04-12 13:33:56 788

原创 正则常用匹配模式

2025-04-01 13:36:35 128

原创 python文件打包成exe

然后在当前目录有个dist文件夹,里面就是打包好的exe。顺便贴一个好玩的小脚本,拿去恶搞你的朋友。安装pyinstaller。

2025-03-31 16:01:04 247

链路追踪jaeger多环境部署

链路追踪jaeger多环境部署

2024-01-04

链路追踪jaeger多环境部署

链路追踪jaeger多环境部署

2024-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除