IT技术博客大学习 共学习 共进步
首页 / PHPor 的Blog
IT 2012-05-17 23:34:16 / 累计浏览 1,920

一个检查偶发连接失败的脚本

情景:从机器A到机器B发起连接,连接超时时间设置为1s,有一定概率的连接失败的情况,使用下面脚本来测试,不断连接,放过成功的连接,只显示失败的连接,并且显示连接失败的时间,脚本如下:while :; do r=`nc -z -v -w 1 10.79.40.43 11231 2>&1 | grep -v succe`;if [ "x$r" != "x" ]; then d=`date +"%H:%M"`;echo -n "$d "; echo $r; fi ;  done

IT 2012-04-07 14:54:49 / 累计浏览 2,320

关于sar的一个问题: Invalid system activity file

问题: sar -qInvalid system activity file: /var/log/sa/sa04 (0x5)分析过程:1. google之: 得到如下信息:来自: http://sebastien.godard.pagesperso-orange.fr/faq.html2. 怀疑是生成sa数据文件的sar和解析sa数据文件的sar命令的版本不同which sar/usr/local/bin/sar 这个是我读取sa数据文件的命令,版本号 8.0.0# sar -Vsysstat version 8.0.0(C) Sebastien Godard (sysstat orange.fr)3. 如何知道生成sa数据文件使用的是那个版本的sar呢?

IT 2012-03-25 21:50:55 / 累计浏览 1,860

关于memcacheq的几个命令

1. 查看mq阻塞情况;2. 查看mq写入情况;3. 查看mq消费情况。

IT 2012-01-29 20:46:24 / 累计浏览 2,140

什么是导出(export)环境变量

1. 执行如下命令:aVar=theValueecho $aVar不会输出theValue2. 执行如下命令:export aVar=theValueecho $aVar输出: theValue说明:如果没有export, 则,只作用于当前的命令; 如果export了,则相当于修改了当前shell的环境3. 比较如下两个命令第一个命令中的aVar是当前shell中的环境变量,因为没有使用export,所以只为空;第二个命令(注意:使用的是单引号)中的$aVar是eval进程中的环境变量,而前面没有使用export,所以,只作用于eval进程,所以aVar就有值了

IT 2012-01-27 18:11:50 / 累计浏览 3,580

tcpdump匹配http头

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE"0x4854 为"HTTP"前两个字母"HT"

IT 2012-01-24 14:01:13 / 累计浏览 4,100

小心grep 的buffer

在统计mysql查询次数时,有如下命令:while :; do sleep 1; mysql -u user -ppass -h phpor.net -P 3306 -e \'show status like "Questions";\'; done |grep Ques | awk \'{print $2 - old; old = $2; }\'几秒钟后都看不到结果,怀疑是awk的buffer造成的,于是改写为:while :; do sleep 1; mysql -u user -ppass -h phpor.net -P 3306 -e\'show status like "Questions";\'; done &#...

IT 2012-01-02 20:58:19 / 累计浏览 3,580

关于内存的申请与释放

在C语言中,如果存在malloc,则一定要有free,否则就会产生内存泄露;而且你还不能free两次,否则,程序将直接崩溃。写PHP程序就比较方便了,你甚至不需要初始化变量,你从来也不用考虑内存回收的问题,但是缺点就是PHP的效率相比C来讲就低多了。我不知道这种比较是否恰当,我想说的是,有一种内存回收是必须显示地、手动地;有一种内存回收是程序自动探测的。前者效率高很多,但是程序开发的效率就很低了;后者开发效率高,但...

IT 2011-12-11 15:27:20 / 累计浏览 3,900

通过ssldump来分析ssl协议过程

ssldump下载: http://www.rtfm.com/ssldump/ssldump-0.9b3.tar.gzssldump安装:./configure && make && make install make的时候可能会有错误:net/bpf.h 找不见 ; 通过 ldconfig -p | grep pcap 发现已经安装了pcap的so文件, 使用rpm查了一下该so文件所属的rpm包,再通过rpm -ql libpcap-0.8.3-12.el4_6.1 发现存在类似头文件: /usr/include/pcap-bpf.h于是,修改ssldump代码中包含的头文件:

IT 2011-10-17 22:26:23 / 累计浏览 1,600

龙泉学车三日

人总是在吃亏和跌跤中长大和成熟的。 有规则的地方都有潜规则,遵守规则能解决的问题,通过潜规则也可以解决;遵守规则解决不了的问题,通过潜规则还可以解决。 学车之前,已经对驾校的潜规则有所耳闻;但是,没有体会,印象就不够具体,不够深刻。 前天晚上,第一次上车。因为我知道教练的脾气都不太好,所以,我就装作一无所知,避免有些地方的认知和教练不一致,还得挨骂;于是,教练就比较仔细地给我讲了一下车里面的一...

IT 2011-10-12 00:18:56 / 累计浏览 2,540

com文件与exe文件的区别

COM文件是一种可执行程序的内存映象文件,它与只有16位地址线的8位机上的CP/M操作系统下的可执行程序结构相似。在COM程序执行过程中,除了调用DOS功能和 ROM BIOS 功能,以及用户特意安排外,段寄存器一般不发生变化。四个段寄存器具有同样的内容,都指向PSP,因此程序的大小仍限于64k以内。COM文件的入口必须是100H,而EXE文件可以有多个段。其中CS和SS以及IP和SP在程序装入时由DOS根据文件头中的信息初始化,ES和DS则指向PSP...

IT 2011-09-21 22:24:17 / 累计浏览 2,380

js编码之 encodeURIComponent

js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

IT 2011-09-21 13:38:36 / 累计浏览 2,640

善用backtrace解决大问题

一.用途:主要用于程序异常退出时寻找错误原因二.功能:回溯堆栈,简单的说就是可以列出当前函数调用关系三.原理:1. 通过对当前堆栈的分析,找到其上层函数在栈中的帧地址,再分析上层函数的堆栈,再找再上层的帧地址……一直找到最顶层为止,帧地址指的是一块:在栈上存放局部变量,上层返回地址,及寄存器值的空间。2.由于不同处理器堆栈方式不同,此功能的具体实现是编译器的内建函数...

IT 2011-09-21 13:37:01 / 累计浏览 3,000

C++获取文件大小常用技巧分享

C++编程语言在程序开发应用中能够帮助我们轻松的完成许多功能需求。比如今天为大家介绍的C++获取文件大小的方法,就可以以多种方式轻松的实现。现在将会实现方法呈现给大家,以便大家参考。C++获取文件大小代码示例: C++获取文件大小的相关方法就为大家介绍到这里。

IT 2011-09-18 17:28:47 / 累计浏览 2,940

查看Raid信息

MegaCli查看Raid卡信息:MegaCli常用参数介绍 MegaCli -adpCount 【显示适配器个数】MegaCli -AdpGetTime

IT 2011-08-19 23:12:33 / 累计浏览 2,840

html Meta

meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta标签用于网页的与中,meta 标签的用处很多。meta的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目 前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和 keywords(分类关键词),所以应该给每页...

IT 2011-08-17 13:52:42 / 累计浏览 2,340

shell 遍历mc

单行脚本:host=10.10.10.10;port=11211;echo -e "stats cachedump 2 0\r\nquit\r\n" | nc $host $port | awk \'{print $2;}\'| while read key;do echo get $key; done | nc $host $port

IT 2011-08-09 08:26:44 / 累计浏览 6,280

tar:从压缩包中解压出指定文件

如果你下载了一个压缩包,虽然本身不是很大,但是解压后会很大;可是你并不会去看里面所有的文件,而是只看具体的某一个或几个文件而已,这时你的磁盘空间有很有限,于是你很想只解压指定的文件,于是下面命令就可以用上了。

IT 2011-07-31 12:50:17 / 累计浏览 6,480

关于Apache调优点滴

Apache 通过管道记日志对性能的影响:如果访问量比较小,则,使用管道可能比只直接写文件要快那么一点点(不会太明显),因为写管道毕竟是些内存(但是操作系统层面对写文件也是有优化的)如果访问量很大,多个进程并发写一个管道,而只有一个进程在读管道,写日志文件,则,管道很容易写慢导致处理进程阻塞,这时,管道产生的瓶颈是很明显的,可能会导致Apache的处理性能减少一个数量级;而且你看到的将是cpu idle很高,iowait很...

IT 2011-07-24 15:12:57 / 累计浏览 3,440

Linux Swap -- 创建普通文件作为swap

当系统swap空间所剩不多时,可通过在本地磁盘上创建普通文件作为swap,步骤如下: $ dd if=/dev/zeroof=./swapfile bs=1M count=1000 $ mkswap ./swapfile $ swapon ./swapfile即可为系统临时增加1G的swap。使用完毕后执行: $ swapoff ./swapfile $ rm -f swapfile