拦截点的选取 · didi/rdebug Wiki

流量录制必然要在某个点上对流量进行拦截并镜像。这里有几个选择。在进入到 tcp/ip 协议栈的时候线程id已经丢失了。所以只有两个选项 libc 拦截。因为 send/recv 的拦截是在业务进程内执行的,所以调用的call stack是在同一个线程上。可以直接调用获取‘当前线程id“。 syscall 拦截 ptrace,走的是中断,太慢 sys...
阅读全文

滴滴开源 Rdebug:基于真实流量的研发、调试、测试利器 - 滴滴技术

桔妹导读:近日,滴滴在 GitHub 上开源后端研发、调试、测试的实用工具 Rdebug,全称 Real Debugger,中文称作真 · Debugger 。使用真实的线上流量进行线下回放测试,提升研发效率、保障代码质量,进而减少事故。一起来具体了解吧。 ▍背景随着微服务架构的普及和应用,一个复杂的单体服务通常会被拆分成多个小而美的微服务。在享受微服务带来便利的同...
阅读全文

Centos 6.5 挂载硬盘 4K对齐 (笔记 实测) - vicowong - 博客园

环境:  系统硬件:vmware vsphere (CPU:24核,内存2G)  系统版本:Linux centos 2.6.32431.17.1.el6.x86\_64(Centos6.5x86\_64minimal.iso )  需要挂载的硬盘:/dev/sdb升级步骤:  0.系统环境     \ uname r  2.6.32431.17.1.el6.x86_6...
阅读全文

PHP的master与worker进程关系的一点纠结 – 夜行人

纠结的起点=====同事发了一篇文档,里面提及1. FPM 的 master 进程接收到请求2. master 进程根据配置指派特定的 worker 进程进行请求处理,如果没有可用进程,返回错误,这也是我们配合 Nginx 遇到502错误比较多的原因。全文请参考: 我曾经认为Nginx也是由master负责派发请求给worker,但同事那边马上发了篇文档出来打脸,文章提到m...
阅读全文

set,env,export,set -x,set -e; - szllq2000 - 博客园

set 用来显示本地变量 env 用来显示环境变量 export 用来显示和设置环境变量set 显示当前shell的变量,包括当前用户的变量 env 显示当前用户的变量 export 显示当前导出成用户变量的shell变量每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME...
阅读全文

go get - GO 命令教程 - 极客学院Wiki -u -v -d

· 更新于 20181128 11:00:43go get======```gohc@ubt:$ go get github.com/hypercarrot/go_lib/logging```命令`go get`可以根据要求和实际情况从互联网上下载或更新指定的代码包及其依赖包,并对它们进行编译和安装。在上面这个示例中,我们从著名的代码托管站点Github上下载了一个项目(或称代...
阅读全文

centos中service命令与/etc/init.d的关系以及centos7的变化 - isykw - 博客园

centos中service命令与/etc/init.d的关系service httpd start 其实是启动了存放在/etc/init.d目录下的脚本。但是centos7的服务管理改规则了。 CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl, 而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变, 也大幅提高...
阅读全文

录制 流量 说明 rdebug/recorder.md at master · didi/rdebug

录制流量=============================================一、思路注入 so 到 phpfpm,异步录制流量并存储,尽可能的减少对程序执行时间的影响。注入 so 的方式,在 macOS 系统下通过 `DYLD_INSERT_LIBRARIES`,Linux 系统下通过 `LD_PRELOAD` 来实现。简单示例:``` macOS...
阅读全文

Linux lsof 调试 PHP - weixin_33935777的博客 - CSDN博客

1 简介 lsof(list open files) 是一个列出当前系统打开文件的工具。 在 linux 环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互...
阅读全文

php-fpm进程数管理 - sfornt - 博客园

`PHPFPM`先来了解一些名词概念:`CGI`是`Common Gateway Interface(通用网管协议)`,用于让交互程序和Web服务器通信的协议。它负责处理URL的请求,启动一个进程,将客户端发送的数据作为输入,由Web服务器收集程序的输出并加上合适的头部,再发送回客户端。`FastCGI`是基于`CGI`的增强版本的协议,不同于创建新的进程来服务请求,使用持续的进程和...
阅读全文