xhprof gui,让xhprof界面更漂亮,功能更强大
顾名思义,xhprof gui 就是一个xhprof的一个ui展现。作者hack了facebook发布的xhprof展现代码。使xhprof界面更漂亮,功能更强大。 xhprof gui新增了如下特性: * 友好的界面 * 数据库存储(mysql) * 支持按请求百分比执行xhprof优化。降低服务器负载。 * 支持相似url的概念。如:http://news.example.com/?story=23 ht ...
顾名思义,xhprof gui 就是一个xhprof的一个ui展现。作者hack了facebook发布的xhprof展现代码。使xhprof界面更漂亮,功能更强大。 xhprof gui新增了如下特性: * 友好的界面 * 数据库存储(mysql) * 支持按请求百分比执行xhprof优化。降低服务器负载。 * 支持相似url的概念。如:http://news.example.com/?story=23 ht ...
磁盘报警。分区磁盘容量已经占用超过80%。同一批上线的几台机器都没报警。而且离报警阀值还差很远。 大概的排查步骤如下: 首先,查找导致磁盘报警的大文件 $ find /home/ -type f -size +100M /home/demo/web/demo/api/core.7982 /home/demo/web/demo/api/core.10035 ..................... 此处省略N多行 ......... ...
趣题: 下面的几段代码分别输出true or false? 第一个: <?php $key=1; var_dump($key == " \t01ab"); ?> 第二个: <?php $key='1'; var_dump($key == " \t01ab"); ?> 第三个: <?php $key=0; var_dump($key == " \t01ab"); ?> 第四个: <?php $key=0; va ...
当你发现一个平时占用cpu比较少的进程突然间占用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段。然后,再仔细分析有问题的代码段,从而找出原因。 如果你的程序使用的是c、c++编写,那么你可以很容易的找到正在执行的代码行。但是,程序是php编 ...
解释器引擎最终执行op的函数是zend_execute,实际上zend_execute是一个函数指针,在引擎初始化的时候zend_execute默认指向了execute,这个execute定义在{PHPSRC}/Zend/zend_vm_execute.h: ZEND_API void execute(zend_op_array *op_array TSRMLS_DC) { zend_execute_data *execute_data; zend_bool nest ...
通过http的方式调用了其他引擎的数据。调用数据出现问题。出现问题时,现象如下: [hailong.xhl@s006130 logs]$curl "http://demo.bo56.com:2088/bin/search?append=k" [hailong.xhl@s006130 logs]$curl: (7) couldn't connect to host 继续跟踪,发现连接的是一个实体机ip,而非vip。 connect(3, {sa_fa ...
前言 这个可以说是《小心,apc可能导致php-fpm罢工!》的续。因为这篇文章有个问题没说清楚,而且映雪同学昨天又问起这个问题。 问题 18-Feb-2014 15:48:45] WARNING: [pool www] child 11274 exited on signal 11 (SIGSEGV) after 0.089068 seconds from start 显然11274进程运行过程中遇到了段错误导致进程异常 ...
core dump 文件对于诊断linux中程序的问题非常有用。当程序异常退出的时候,可能会生成core文件。如,程序写一个不属于他的内存,操作系统出于保护,会发信号给程序,程序可能会因此而退出,退出的时候可能会生成core文件。我们可以通过分析core文件,找出程序中那里有内存问题。这篇文章主要是阐述生成core文件需要做 ...
本文是引用@五牧同学在阿里ata上发表的文章。感觉分析的比较透彻,分享给大家。 问题的起因在来源于周会上钟老板提出的一个问题,cp新的so文件替换老的so,会导致程序core掉。这个问题引起了大家的热烈讨论,其中提及了的名词有inode,dentry,buserror等,比较混乱,由于功力浅薄,当时也没有十分清楚引起core掉的原因 ...
现象: php能通过代理正常连接到mysql。但是,执行query后,一直等待,没有任何数据返回。 结果导致php-fpm进程全部阻塞在读取数据的地方。不能处理其他正常请求。 解决方法: 可以通过设置mysql查杀的超时时间来解决这个问题。 第一种设置mysql查询超时时间的方法是使用mysqlnd。 关于msyqlnd的介绍,大家可以看下这篇 ...
简介: mysql native driver 作为php的扩展,取代了libmysqlclient ,为php在 mysql ,mysqli pdomysql 上 提供mysql 的支持。 安装: ./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd ./configure —enable-mysqlnd 优点: 1、mysqlnd更容易编译; 因为它是php源码树的一个组成部分 2 ...
最近访问网站,发现出现了502错误。一般出现502错误,都是php-fpm 进程处理请求时出现异常导致的。 首先,查看了php-fpm 的进程数。发现php-fpm的进程数已经到达了php-fpm.conf中设置的最大值。最近流量没有大的变动,这么多php-fpm进程,肯定有问题。 然后,用pstack命令查看这些php-fpm进程都在干啥。 [hailong.x ...