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

Author Archives: 信海龙

ip地址中的网络号,主机号

 

当前使用的IP地址有4个字节(32bit)组成,即IPV4编码方式。每个IP地址包括两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之同理。 ip地址中的网络号,主机号有什么作用? 打个很简单的比喻:网卡的MAC地址就像你身份证上的身份证号码,虽然是唯一的 ...

注意sql语句中的通配符,别掉坑里面!

 

现象: 有一个表 action_conf,数据如下: 如果想获取以exp_site_10_开头的en_name的记录,sql语句该如何写? so easy! select en_name from action_conf where en_name like 'exp_site_10_%' 很自信的在idb中执行了这条sql,就会发现结果并不是所预期的。 你会发现,执行上面的sql会把所有以 exp_site_10开头的 ...

libcurl中使用curl_easy_getinfo 产生段错误分析

 

最近再写一个hsf的代理程序。需要使用libcurl与后端的nginx通信。程序编写过程中遇到一个蹊跷的问题。 调用 code = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &rsp_code); 后会报段错误。 示例代码如下: static int http_proxy(std::string domain, std::string path, std::string params, std::string & ...

*** glibc detected ***

 

现象: 今天线上一台服务器的php打算升级到php5.5,导入流量后,在php的error log中出现了一些 glibc delected错误。 如: *** glibc detected *** ./test: double free or corruption (fasttop): 0x00000000049cc010 *** 原因: 重复free 示例: #include"stdio.h" #include "stdlib.h" #include ...

/usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

 

问题: 当你执行yum 命令时提示如下错误: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory 解决方法: 上面的提示说明yum脚本没有找到python命令。 只要找到python命令的路径,然后建立个软链接即可。 如: sudo ln -s /usr/bin/python2.4 /usr/bin/python ps: yum命令是用python脚本写的 ...

linux shell中"2>&1"含义

 
&1"含义">

执行命令是 /home/demo.sh >/dev/null 2>&1 & 对于& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。 对于2 ,表示标准错误,stderr。 2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null 最后一个& 是让程序在后台执行。 为何2>&1要写在 ...

tcprstat分析服务的响应速度利器

 

tcprstat是percona用来监测mysql响应时间的。不过对于任何运行在TCP协议上的响应时间,都可以用。 下面是一个监控示例,监控分析mysql的3306端口。 $sudo tcprstat -p 3306 -t 1 -n 5 timestamp count max min avg med stddev 95_max 95_avg 95_std 99_max 99_avg 99_std 1283261499 1870 559009 39 883 153 13306 126 ...

tcprstat源码分析之tcp数据包分析

 

tcprstat是percona用来监测mysql响应时间的。不过对于任何运行在TCP协议上的响应时间,都可以用。本文主要做源码分析,如何使用tcprstat请大家查看博文《tcprstat分析服务的响应速度利器》 tcprstat和tcpdump一样,使用libpcap库进行抓包,然后再通过程序对抓取的tcp包进行分析。 tcprstat对tcp包分析的大概流程如下: ...

mysql的cardinality异常,导致索引不可用

 

前段时间,一大早上,就收到报警,警告php-fpm进程的数量超过阈值。最终发现是一条sql没用到索引,导致执行数据库查询慢了,最终导致php-fpm进程数增加。最终通过analyze table feed_comment_info_id_0000 命令更新了Cardinality ,才能再次用到索引。 排查过程如下: sql语句: select id from feed_comment_info_id_ ...

php进程导致服务器cpu 100问题追查过程

 

前段时间,出现了一次服务器cpu 占用100的问题。以下为追查原因的过程。仅当抛砖引玉,欢迎拍砖。 查看占用cpu高的进程 想找出占用cpu高的进程,用top命令就可以搞定。 $top .....此处省略n多行... 10434 root 20 0 509m 174m 1528 R 99.7 0.5 8:42.43 php ...

动态修改php的配置项

 

我们一般修改php的配置项都是在php.ini中修改。在php,ini中的修改会影响到所有使用php的程序。假如我想让修改只在某个域名下生效,该如何做呢? 使用ini_set() 首先想到的可能是使用ini_set()方法在脚本中修改。但是这个只能修改作用域为PHP_INI_USER和PHP_INI_ALL的配置项。具体配置项作用域说明请查看 PHP配置指令作用 ...

PHP配置指令作用域说明

 

PHP总共有4个配置指令作用域,分别是PHP_INI_USER,PHP_INI_PERDIR,PHP_INI_SYSTEM,PHP_INI_ALL。这些作用域限制了指令是否可以被修改,在那里可以被修改。php的每个配置项都会有一个作用域。下面是对四种作用域的说明。 作用域类型 说明 PHP_INI_USER 可在用户脚本(如 ini_set())或Windows注册表(PHP 5 ...