使用 XHProf 进行 PHP 查询性能分析和问题追踪
XHProf
是facebook开源出来的一个PHP轻量级的性能分析工具,跟Xdebug
类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。
安装
-
macOS
1 2
brew search xhprof brew install php56-xhprof
XHProf
是facebook开源出来的一个PHP轻量级的性能分析工具,跟Xdebug
类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。
macOS
|
|
基于事件机制的高性能 HTTP 压力测试工具。
wrk 负载测试时可以运行在一个或者多核CPU,wrk 结合了可伸缩的事件通知系统 epoll 和 kqueue 等多线程设计思想。wrk 不仅能测试单条 URL,还能通过
LuaJIT
脚本实现对不同的 URL 和参数、请求内容进行测试。
ss
用来获取系统 Socket 网络统计信息,英文 Socket Statistics 的缩写。功能与netstat
类似,但ss
能显示更多更详细的信息,并且更快更高效。
服务器的 Socket 连接数变得非常大时,无论是使用 netstat
命令还是直接 cat /proc/net/tcp
,执行速度都会很慢。
ss
快的秘诀在于,它利用到了 TCP 协议栈中 tcp_diag
。tcp_diag
是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,这就确保了 ss
的快捷高效。当然,如果你的系统中没有 tcp_diag
,ss
也可以正常运行,只是效率会变得稍慢。(但仍然比 netstat
要快)
|
|
- 支持Win/Linux/Mac等环境
- 支持交互输入
- 支持错误重试
刚发现测试机的数据库挂了,查看状态和启动均报错,信息大致如下:
|
|
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
XtraBackup 是由 percona 开源的免费数据库热备份软件,它能对 InnoDB 和 XtraDB 存储引擎的数据库非阻塞地备份(对于 MyISAM 的备份同样需要加表锁)。mysqldump 备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump 备份就不太适合。
ELK Stack(ElasticSearch、Logstash、Kibana)
ELK关系图:
ElasticSearch与关系型数据库对比:
Relational DB -> Databases -> Tables -> Rows -> Columns
ElasticSearch -> Indices -> Types -> Documents -> Fields
macOS 10.11 开始加入了
System Integrity Protection
,也就是rootless
保护机制,使得很多系统目录无法进行修改,root 权限也进行了限制。但我们有些时候需要处理一些文件或软件,比如删除系统自带的 Apache、PHP 等,那我们需要临时关闭 SIP 机制。
重启系统,按住Command + R
,进入恢复模式,打开 Terminal 终端执行命令:
csrutil disable # 关闭SIP csrutil enable # 开启SIP