首页 » 作者存档: 信海龙 ( 第 6 页 )

Author Archives: 信海龙

tcpdump 和 wireshark组合拳,揪出有问题的机器

 

现象 mysqlnd的超时时间设置为2s后,出现了一个诡异的现象。在php的error log中出现了一些错误信息。如下: [20-Dec-2014 21:20:17] WARNING: [pool www] child 31401 said into stderr: "NOTICE: PHP message: PHP Warning: PDO::__construct(): MySQL server has gone away in ./abstract.class.php on line 26" 第 ...

使用tcpdump排查mysql数据库tps飙升的问题

 

现象 上线后习惯性的观察数据库的变化。发现数据库的tps有很大的飙升。不过幸好在双十一的时候在数据库方面做了一些完善,虽然主库的tps有飙升,但是总体load还不是很高。但是问题既然出现了,还是要解决的。 排查过程 确定是insert update 还是 delete操作导致tps高? 既然是tps高,那就说明数据库修改的操作多了。到 ...

wireshark的filter过滤条件应用实例

 

前言 wireshark是一个网络数据包捕捉和分析工具。本篇文章只介绍过滤器的一些应用实例。关于wireshark的介绍和常见使用方法可以查看博文,《调试利器之wireshark》 wireshark是一个网络数据包捕捉和分析工具。本篇文章只介绍过滤器的一些应用实例。关于wireshark的介绍和常见使用方法可以查看博文,《调试利器之wiresha ...

php调试利器之phpdbg

 

简介 PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 PHPDBG的目标是成为一个轻量级、强大、易用的PHP调试平台。可以在PHP5.4和之上版本中使用。在php5.6和之上版本将内部集成。 主要功能: - 单步调试 - 灵活的下断点方式(类方法、函数、文件:行、内存地址、opcode) - 可直 ...

使用valgrind的callgrind工具进行多线程性能分析

 

简介 valgrind是开源的性能分析利器。 根据它的文档,可以用它来检查内存泄漏等问题,还可以用来生成函数的调用图,就这两个功能就足够有吸引力了。 本文主要是介绍如何使用valgrind的callgrind工具进行性能分析。 分析过程 使用callgrind工具生成性能分析数据 命令格式如下: valgrind --tool=callgrind ./exproxy ...

调试工具之GDB

 

简介 GDB(GNU debugger)是GNU开源组织发布的一个强大的UNIX下的程序调试工具。可以使用它通过命令行的方式调试程序。它使你能在程序运行时观察程序的内部结构和内存的使用情况。你也可以使用它分析程序崩溃前的发生了什么,从而找出程序崩溃的原因。相对于windows下的图形界面的VC等调试工具,它提供了更强大的功能。 ...

调试利器之wireshark

 

简介 Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使 ...

一次php进程诡异退出的排查过程

 

背景 最近给XX项目搭建一个反垃圾平台。效果不错,但是出现了一个诡异的事情。离线扫描部分会有一个常驻的php进程,以便处理发现的垃圾信息。常驻的php进程总是诡异的退出。php代码示例如下: <?php while(1){ $content = fgets(STDIN); if(empty($content)){ sleep(1); } //逻辑处理部分 ...

妙用php中的register_shutdown_function和fastcgi_finish_request

 

前言 在php中又两个方法都是在请求快结束的时候执行。方法名分别是 register_shutdown_function和fastcgi_finish_request。虽然执行的时机差不多,但是功能和应用场景不一样。比较两个方法的区别不是本文的重点。本文的重点的说明两个方法的应用场景。 register_shutdown_function 功能: 注册一个方法,当一个请求requ ...

mac安装wireshark

 

前言介绍 wireshark是一个很好的网络数据包抓取和分析软件。是一个跨平台的软件。可以在windows,mac,linux多种操作系统下安装使用。本篇博文主要是介绍如何在mac操作系统下安装。 安装环境 软件版本:wireshark Stable Release (1.12.2) 操作系统:mac OS X Yosemite,版本 10.10。 安装步骤 第一步:到官方网站下载 ...

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication解决办法

 

mysqlnd是个好东西。不仅可以提高与mysql数据库通信的效率,而且也可以方便的设置一些超时。如,连接超时,查询超时。 但是,使用mysqlnd的时候,有个地方需要注意。就是服务端的密码格式不能使用旧的16位的存储格式,而要使用新的41位的存储格式。 如果,服务端的密码格式是16位,那么就会报错。信息如下: Fatal erro ...

调试利器之tcpdump详解

 

简介 你执行 man tcpdump 命令,你会看到文档中对tcpdump的说明是“dump traffic on a network”。可见,tcpdump是一个根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等 ...