June 6, 2011
配置PHP.INI监测服务器的脚本耗时
"配置php.ini中的 auto_prepend_file auto_append_file 加入自动解析页面来获取执行时间\n; Automatically add files before or after any PHP document. auto_prepend_file = monitor_prog.php auto_append_file = monitor_prog.php\n把monitor_prog.php放到包含目录下。\nmonitor_prog.php\n// print_r($_SERVER);\nif ( ! function_exists ( ‘ getmicrotime_t ‘ ) ) {\nfunction getmicrotime_t(){\nlist ( $usec , $sec ) = explode ( ” ” , microtime ());\nreturn $usec ;\n// return ((float)$usec + (float)$sec);\n} // end func\n}\n$time1 = date ( ‘ Y-m-d H:i:s ‘ );"
June 1, 2011
iostat来对linux硬盘IO性能进行检测
"近期公司安装了几台DELL PE2650和2850的服务器,统一安装的是RHLE5.132位系统,而服务器的SCSI硬盘都统一做了raid1。公司老总要求对硬盘IO作统一检测报告,在Linux下找了许多工具,发现最实用的还是iostat,这个需要先安装sysstat ,即yum -y install sysstat;公司内部的yum服务器搭建这个不是本文的重点,这里不作详细叙述。\n# iostat -x 1 10 Linux 2.6.18-92.el5xen 03/01/2010 avg-cpu: %user %nice %system %iowait %steal %idle 1.10 0.00 4.82 39.54 0.07 54.46 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 3.50 0.40 2.50 5.60 48.00 18.48 0.00 0.97 0.97 0.28 sdb 0.00 0.00 0.00 0.00 0.00 0.00 …"
June 1, 2011
Linux IO性能测试
"近来想了解一下开发环境的IO性能,分别用dd/orion/iozone/bonnie++四种工具测试了一下\n开发环境系统配置如下:\nIntel SR1625 server, 2 CPU, 32GB内存, 用主板自带卡做了raid1+0,8个7200转SATA硬盘\n操作系统是RHEL 5.3 64位\n因为物理内存是32GB,因此整个过程都选用了60GB+的数据量来测试,以避免cache的影响\n1. 首先用自带的dd命令先测一下, 块大小为8k\ndd只能提供一个大概的测试结果,而且是连续IO而不是随机IO\n读测试\ntime dd if=/dev/sda2 f=/dev/null bs=8k count=8388608\n8388608+0 records in\n8388608+0 records out\n68719476736 bytes (69 GB) copied, 516.547 seconds, 133 MB/s\nreal 8m36.926s\nuser 0m0.117s\nsys 0m55.216s\n写测试\ntime dd if=/dev/zero f=/opt/iotest …"
May 30, 2011
weebox is a dialog plugin
"使用前需包含以下jquery.js、bgiframe.js、weebox.js、wee.css文件\n基本用法举例如下: $.weeboxs.open(‘#testbox’, {title: ‘hello world’, width:400, height: 200});\n$.weeboxs.open(‘The operation failed.’,{ onopen:function(){alert(‘opened!’);}, onclose:function(){alert(‘closed!’);}, onok:function(){alert(‘ok’); $.weeboxs.close();} });\n$.weeboxs.open(‘/modules/test/testsession.php’, {contentType:’ajax’});\n$.weeboxs.open(‘hello world’);\n$.weeboxs.open(‘The operation failed.’,{type:’error’});\n$.weeboxs.open(‘The operation …"
May 30, 2011
C语言对mysql数据库的操作
"这已经是一相当老的话题。不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎么使用而进行查阅的!\n我们言归正传\n1.头文件:\n#include\n#include\n#include “/usr/local/mysql/include/mysql/mysql.h” //这个是必需要包含的,下面对mysql的所有操作函数,都出自这里\n2.定义一个MYSQL变量:\nMYSQL mysql;\n这里MYSQL是一个用于连接MySql数据库的变量。\n在后面对mysql数据库的操作中,我们就用这个MYSQL变量作为句柄的。\n3.定义数据库参数:\nchar host[32]=”localhost”;\nchar user[32]=”username”;\nchar passwd[32]=”pwd”;\nchar dbname[32]=”testdb”;\n4.数据库操作\n1).初始化数据库:\nmysql_init(\u0026amp;mysql);\n2).连接数据库: …"
May 28, 2011
FreeBSD/Linux检测硬盘坏道 第二篇
"Linux认证:FreeBSD/Linux检测硬盘坏道,$badblocks -s //显示进度 -w //以写去检测 -v //显示执行详细情况 /dev/sda2\nLinux检测硬盘坏道\nbadblocks功能说明:检查磁盘装置中损坏的区块。\n语法:badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]\n补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。\n参数:\n-b 指定磁盘的区块大小,单位为字节。\n-o 将检查的结果写入指定的输出文件。\n-s 在检查时显示进度。\n-v 执行时显示详细的信息。\n-w 在检查时,执行写入测试。\n[磁盘装置] 指定要检查的磁盘装置。\n[磁盘区块数] 指定磁盘装置的区块总数。\n[启始区块] 指定要从哪个区块开始检查。\nbadblocks 检测磁盘坏块\n1)$badblocks -s //显示进度 -v //显示执行详细情况 /dev/sda1\n2)读写方式检测 未挂载的磁盘设备或分区\n$badblocks -s //显示进度 -w //以写去检测 -v //显示执行详细情况 /dev/sda2 …"
May 28, 2011
configure: error: mcrypt.h not found. Please reinstall libmcrypt
"今日参考以前的文章安装lnmp的时候,发现这次在安装php的时候竟然提示”configure: error: mcrypt.h not found. Please reinstall libmcrypt”,意思是,没有查找到mcrytp.h,需要安装libcrytp,以前安装了n次都没有问题的,在网上找了一个解决办法.\nwget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz\ntar -zxvf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 mkdir -p /usr/local/libmcrytp ./configure prefix=/usr/local/libmcrytp/ make make install\n然后再安装PHP"
May 28, 2011
linux的mount(挂载)命令详解
"**点评:**linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享 linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享. linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要进行数据交换。下面我根据自己的实际工作经验介绍一下如何在linux系统 下挂接(mount)光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享。\n挂接命令(mount)\n首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要 …"
May 23, 2011
mysql删除大表更快的drop table办法
"曾经发文介绍过,DROP table XXX ,特别是碰到大表时,\n在DROP TABLE 过程中,所有操作都会被HANG住。 这是因为INNODB会维护一个全局独占锁(在table cache上面),直到DROP TABLE完成才释放。 在我们常用的ext3,ext4,ntfs文件系统,要删除一个大文件(几十G,甚至几百G)还是需要点时间的。 下面我们介绍一个快速DROP table 的方法; 不管多大的表,INNODB 都可以很快返回,表删除完成; 实现:巧用LINK(硬链接)\n实测:\n: test 21:38:00\u0026gt; show table status like ‘tt’ \\G *********\\* 1. row ********** Name: tt Engine: InnoDB Version: 10 Row_format: Compact Rows: 151789128 Avg_row_length: 72 Data_length: 11011096576 Max_data_length: 0 Index_length: 5206179840 Data_free: …"
May 22, 2011
启用 Ubuntu 中的 root 帐号
"其实我个人认为这没有多大必要,因为当你需要 root 的权限时,使用 sudo 便可以了。如果你实在需要在 Ubuntu 中启用 root 帐号的话,那么不妨执行下面的操作:\nsudo passwd root\n此命令将会重新设置 root 的密码,按照提示输入新的密码,并加以确认。之后,重启系统时,就可以用 root 登录了。\n如果你想要禁用 root 帐号,则执行下列命令:\nsudo passwd -l root"