编写 GPT 提示词的公式 + 资源分享
GPT 能够给我们带来很大的帮助,因此我们要好好利用它。我们希望 GPT 输出令我们满意的内容,影响 GPT 输出内容的因素有模型和输入(Prompt,提示词)。
【全网首发】深入剖析 Golang 程序启动原理 - 从 ELF 入口点到GMP初始化到执行 main!
看似简简单单的一个 Golang 的 Hello World 程序,只要你愿意深挖,里面真的有极其丰富的营养的!
go的net/http有哪些值得关注的细节?
了解它的内部实现原理,可以帮助我们写出更高性能的代码,以及避免协程泄露造成的内存泄漏问题。
Go 面试题:string 是线程安全的吗?
每次做并发操作时,都建议想清楚,这个场景的到底需不需要保护共享变量,做好原子操作等。
各个语言运行100万个并发任务需要多少内存?
有些程序在10000个连接中仅消耗了略高于100MB的内存,但另一些程序却达到了接近3GB。
.NET中委托性能的演变
.NET中的委托.NET中的委托是一项重要功能,可以实现间接方法调用和函数式编程。自.NET Framework 1.0起,委托在.NET中就支持多播(multicast)功能。通过多播,我们可以在单个委托调用中调用一系列方法,而无需自己维护方法列表。即使在今天,委托的多播功能在桌面开发中仍然
GO 学了一个月,代码不会写,先看个源码解析
本地启动在第三篇自定义中间件的前提下,已经说了很多关于本地通过 CRD 或者 File 作为 provider 的启动方式,这里想要补充一下关于本地 DEBUG 3.0.0 版本代码的问题,后续的源码分析也都会基于目前最新的 3.0 版本。在写文章的时候,目前 3.0 版本还是 beta 版本。
抓包分析RST报文
今天我们来分析下网络连接中经常出现的RST信号,连接中出现RST信号意味着这条链接将会断开,来看下什么时候会触发RST信号,这在分析连接断开的原因时十分有帮助。
编译程序的任务
编译程序是一种翻译程序,编译程序是将一种语言形式翻译成另一种语言形式。它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 整个编译过程一般可以划分为 5 个阶段:词法分析、语法分析、语义分析及中间代码生成、中间代码优化和目标代码生成。
eBPF 入门开发实践教程十四:使用 USDT 捕获用户态 Java GC 事件耗时
eBPF 还支持使用 USDT (用户级静态定义跟踪点) 捕获用户态的应用程序行为,本文我们将介绍如何使用 eBPF 和 USDT 来捕获和分析 Java 的垃圾回收 (GC) 事件的耗时。
业务逻辑复杂,历史久远的接口出现数据错误怎么办?
接口返回数据错误,如何快速找到问题原因并进行修复?01背景1.1 下班时,业务反馈:线上数据错了1.2 分析找前端同学确认控制“点击咨询期货”是由接口返回的“skuLt”字段控制:02BugShoot
wireshark分析tcp传输之文件上传速率问题
在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查丢包问题的手段。但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有丢包产生,但是网络传输速率就是很慢,或者有丢包产生,但无法知道丢包的详细过程,无法知道整个tcp传输过程的具体情况。如何更加精细的查看网络包传
编译器优化那些事儿(10):区域分析
为了有效地优化代码,编译器需要在程序的各个节点建立并求解与信息有关的方程来收集数据流信息,并将这些信息分发给流程图的每个块,这个过程被称为数据流分析~
一次系统延迟优化案例
一次系统延迟优化案例服务监控系列文章服务监控系列视频问题背景线上隔三差五晚上10点左右总会有sql报警出现,且是同样的sql,我们的sql报警是在应用程序内部通过对sql操作增加钩子函数,对sql前后执行的位置记录下时间戳,然后sql执行完毕后,对时间戳进行相减得到sql执行时长,大于1s则
【全网首发】一次有关 DNS 解析导致 APP 慢的问题探究
HTTTPDNSAWS Router53APP 使用 HTTPDNS, 为解决 DNS 解析生效慢, DNS 劫持等问题。
eBPF Talk: challenge verifier
在这篇文章里,将分析 verifier log,找到问题所在,并解决这个问题。
八大生产故障 排查思路(通用版)
你好,我是悟空。常见的生产故障有哪些?在生产环境中,常见的故障类型包括但不限于以下几种:网络故障:网络故障可能包括网络连接中断、网络延迟过高、路由错误等。这可能导致系统无法正常访问外部资源,或导致应用程序无法与其他系统进行通信。服务器故障:服务器故障可能包括硬件故障、操作
编译器优化那些事儿(9):Machine Outliner
在嵌入式领域,代码体积(code size)优化能够减少内存的使用,对产品的竞争力至关重要
Go设计模式--中介者,最后的模式
大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式,也是我们要学习的最后一个设计模式—中介者模式,对这个模式有一点了解后会觉得它跟我们已经学过的观察者模式挺像,但是两者还是有些区别的,使用场景也不一样,具体我们放在最后再讲,先来一起学习中介者模式。中介者模式是一种行为
Go设计模式--解释器模式
大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式—解释器模式解释器模式是一种行为设计模式,可以用来在程序里创建针对一个特点领域语言的解释器,用于处理解释领域语言中的语句。换句话说,该模式定义了领域语言的抽象语法树以及用示来解释语法树的解释器。模式使用场景解释器模式
Hive分桶秘籍:解锁大数据性能提升的神秘力量
摘本文将对Hive分桶的合理性进行分析,阐述了分桶的原理、优势以及如何设计合理的分桶方案。通过探讨分桶在不同场景下的应用,我们可以更好地理解分桶对于提高查询性能和数据管理的重要性。
Go设计模式--命令模式
大家好,这里是每周都陪你进步的网管,假期归来咱们继续更新设计模式系列,这次要和大家一起学习的是命令模式,如果你对领域驱动设计感兴趣,这个模式一定要好好学,命令模式是DDD风格的框架中高频使用的一个模式。命令模式是一种行为型模式。它通过将请求封装为一个独立的对象即命令对象,来解耦命令的调用者和接收
Go设计模式--备忘录模式,带暂存的业务功能可以参考它来实现
大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式—备忘录模式备忘录模式(Memento Pattern)又叫作快照模式(Snapshot Pattern), 或令牌模式(Token Pattern), 指在不破坏封装的前提下, 捕获一个对象的内部状态, 并在对象之外保
Go设计模式--访客模式
大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式—访客模式访客模式也叫访问者模式(Visitor Pattern)是一种将数据结构对象与数据操作分离的设计模式,可以在不改变数据结构对象类结构的前提下定义作用于这些对象的新的操作, 属于行为型设计模式。访问者模式主要适
Go设计模式-迭代器到底是不是一个多此一举的模式?
大家好,这里是陪你一起进步的网管~!上周收到了各位对设计模式的催更,这里我就直接开始啦,今天要一起学习的是迭代器模式。迭代器模式(Iterator Design Pattern),也叫作游标模式(Cursor Design Pattern)。提供了一种方法顺序地访问一个聚合对象中的元素,而不是暴
太坑了吧!一次某某云上的redis读超时排查经历
问题背景:最近一两天线上老是偶现的redis读超时报警,并且是业务低峰期间,甚是不解,于是开始着手排查。
eBPF verifier验证器与编译器inline内联
二月份编写eCapture的GoTls密钥捕获功能时,遇到了一个小bug,就是在UBUNTU 21.04的Linux上运行时,遇到eBPF verifier的报错,无法启动,后来通过启用always inline解决了这个问题~
使用 eBPF 技术跟踪 Netfilter 数据流
我们了解到对于 Netfilter 的底层函数为 ipt_do_table,那么我们只需要使用 kprobe 和 kretprobe 获取到入参和返回结果,即可以获取到对应的过滤结果
eBPF: 从 BPF2BPF 调用到尾调用
我在学习尾调用的时候苦于没有一个能跑起来的简单易懂的例子,所以最后自己撸了一个,这个版本我认为是目前能找到的所有例子里对初学者最友好,逻辑最清晰的一个~
使用eBPF实现基于DWARF的堆栈遍历
译者注:原文为https://www.parca.dev/[1]的Javier Honduvilla Coto[2],文章地址DWARF-based Stack Walking Using eBPF[3],副标题Deep dive into the new DWARF-based stack
面试必备:四种经典限流算法讲解
前言大家好,我是田螺.最近一位朋友去拼夕夕面试,被问了这么一道题:限流算法有哪些?用代码实现令牌桶算法。跟星球好友讨论了一波,发现大家都忘记得差不多了.所以田螺哥再整理一波,常见的四种限流算法,以及简单代码实现,相信大家看完,会茅塞顿开的。1、固定窗口限流算法1.1 什么是固定窗口限流算
Go设计模式--桥接模式,让代码既能多维度扩展又不会臃肿
下面举个大家都能理解的例子来说明桥接模式模式在系统多维度扩展和降低臃肿度上的作用
.NET微服务系统迁移至.NET6.0的故事
本次迁移涉及的是公司内部一个业务子系统,该系统是一个多样化的应用,支撑着公司的多个业务方向。目前,该系统由40多个基于.NET的微服务应用构成,使用数千个CPU核心和数TB内存,在数百个Linux容器中运行。每天,该系统需要处理数十亿次请求。该系统其中大部分服务是在2018-2019年左右由老旧
eBPF 快速定位网络抖动
在容器集群中新部署的服务 A,在测试初期发现通过服务注册发现访问下游服务 B(在同一个容器集群) 调用延时 999 线偶发抖动,测试 QPS 比较小,从业务监控上看起来比较明显,最大的延时可以达到 200 ms。
传输安全HTTPS
通过阅读本篇文章你可以了解到: 1、为什么要有HTTPS; 2、TLS1.2 握手的过程。
使用 Go 语言开发 eBPF 程序
本文将介绍基于 Go 和对应的库开发 eBPF 程序
eBPF 完全入门指南.pdf(万字长文)
开发者可基于 eBPF 开发性能分析工具、软件定义网络、安全等诸多场景。本文将介绍 eBPF 的前世今生,并构建一个 eBPF 环境进行开发实践,文中所有的代码可以在我的 Github[2] 中找到。
eBPF指令集规范v1.0
编译成功的eBPF程序,加载时偶尔会过不了内核BPF verifier,冒出一堆汇编语句。理解eBPF指令集,可以帮助我们调试这类问题。
从输入URL到Web页面呈现的全过程
简单来说,当用户在浏览器的地址栏中输入 URL 并点击回车后,浏览器从服务端获取资源,然后将内容显示在页面上。这个过程经过了:浏览器缓存 -> DNS 域名解析 -> URL 编码 -> 使用 HTTP 或者使用 HTTPS 协议发送请求等过程。
Go设计模式--享元模式,节省内存的好帮手
当一个系统中有大量的重复对象的时候,如果这些对象是不可变对象,我们就可以使用享元模式,将这些对象设计成享元,在内存只保存一份,供需要的代码使用,这样能减少内存中对象的数量,起到节省内存的作用。

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

本专题精选了HeapDump性能社区中的8篇数据库性能优化相关文章,这些文章内不仅包含了影响数据库性能的因素,数据库性能评估标准、优化方法的内容,还介绍了一些数据库设计原则和编程技巧,并且记录了一些或大或小的实战案例,帮助大家快速了解数据库性能优化,掌握一些实操技能。
8篇文章14789阅读量
相比于后端遇到的各种复杂性能问题,前端的性能相对简单,但是简单不代表容易,前端的技术更新迭代快,那么针对性能问题自然也会出现各种变种,需要各种新的工具和思路。
HeapDump性能社区将引进更多前端相关大佬,来给大家分享前端性能的那些事儿。本期先从前端性能基础开始:
5篇文章7197阅读量