正在加载...
分页: 2/3 第一页 上页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]

安装apc为php加速

[ 2009/07/21 12:25 | by selboo ]
Alternative PHP Cache(APC)是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。
主要是加速PHP..
WordPress是一个占用内存的大户,而且执行效率比较低..
我安装了APC后,VPS的整体内存降了30M左右吧..
下面是安装方法:

wget http://pecl.php.net/get/APC-3.1.2.tgz
tar zxvf APC-3.1.2.tgz
cd APC-3.1.2/
/usr/local/php/bin/phpize
./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/php/bin/php-config
make
make install


配置php.ini 末尾修改加入

[code]extension_dir = &qu
Tags: , , ,

linux 查看硬盘性能

[ 2009/07/17 10:11 | by selboo ]
hdparm -t /dev/sda

hdparm -Tt /dev/sda

-a 表示是否关闭磁盘预读取功能。对于大文件读取,这个显然能提高性能。
-A设置硬盘驱动器缓存读取特性。可能就是硬盘缓存开关
--d设置dma
 使用DMA和32位传输可以大幅提升系统性能。使用命令如下:

  # /sbin/hdparm -c 1 /dev/hda

  此命令将第一个IDE硬盘的PCI总线指定为32位,使用 -c 0参数来禁用32位传输。

  在硬盘上使用DMA,使用命令:

  # /sbin/hdparm -d 1 /dev/hda

  关闭DMA可以使用 -d 0的参数。

  更改完成后,可以使用hdparm来检查修改后的结果,使用命令:

  # /sbin/hdparm -t /dev/had

  为了确保设置的结果不变,使用命令:# /sbin/hdparm -k 1 /dev/hda

  Hdparm命令的一些常用的其他参数功能

  -g 显示硬盘的磁轨,磁头,磁区等参数。

  -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。

  -I 直接读取硬盘所提供的硬件规格信息。

  -p 设定硬盘的PIO模式。

  -Tt 评估硬盘的读取效率和硬盘快取的读取效率。

  -u <0或1>; 在硬盘存取时,允许其他中断要求同时执行。

  -v 显示硬盘的相关设定。

ps:
简单测试硬盘的写入速度
dd if=/dev/zero of=file bs=1024 count=10240
Tags: , ,

vmstat命令

[ 2009/06/12 01:39 | by selboo ]
在Linux VPS下运行vmstat命令可以显示系统资源占用的情况。加上一个时间参数可以定期循环输出资源占用情况,比如运行vmstat 2就可以每隔2秒钟输出一次。

vmstat命令输出的各项含义是:

procs部分
r 在运行队列中等待的进程数,如果经常大于CPU的个数,则表示cpu的负荷重
b 在等待io的进程数

memoy部分
swpd 已经使用的交换内存(k表示),这个数越小越好
free 空闲的内存(k表示),越大越好
buff 内核buffers部分的内存(k表示),这些内存也是可用的,所以这个数也是越大越好
cache 内核cache部分的内存(k表示),这些内存也是可用的,所以这个数也是越大越好

swap部分
si 从磁盘swap到内存的总量(k表示),这个数应该是0才对,大于0就表示,发生过swap,内存不够了
so 从内存中swap到磁盘的总量(k表示),这个数应该是0才对,大于0就表示,发生过swap,内存不够了

io部分
bi 从块设备(一般是硬盘)中读入的块总数,这个数越大表示IO越忙
bo 输出到块设备(一般是硬盘)中的块总数,这个数越大表示IO越忙

system部分
in 每秒的中断次数
cs 每秒的进程上下文切换的次数

cpu部分
us CPU在用户态执行花费的时间
sy CPU在内核态执行花费的时间
id CPU空闲的时间
wa CPU等待IO的时间,这个数字大表示IO忙
st 这个我搞不清楚,如果你清楚,请留言告知,谢谢


Procs
-r:
运行的和等待(CPU时间片)运行的进程数,这个值也可以判断是否需要增加CPU(长期大于1)
-b:
处于不可中断状态的进程数,常见的情况是由IO引起的


Memory
-swpd: 切换到交换内存上的内存(默认以KB为单位)
如果 swpd 的值不为0,或者还比较大,比如超过100M了,但是 si, so 的值长期为 0,这种情况我们可以不用担心,不会影响系统性能。
-free: 空闲的物理内存
-buff: 作为buffer cache的内存,对块设备的读写进行缓冲
-cache: 作为page cache的内存, 文件系统的cache
如果 cache 的值大的时候,说明cache住的文件数多,如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi 会非常小。


Swap
-si: 交换内存使用,由磁盘调入内存
-so: 交换内存使用,由内存调入磁盘
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响。磁盘IO和CPU资源都会被消耗。
我发现有些朋友看到空闲内存(free)很少或接近于0时,就认为内存不够用了,实际上不能光看这一点的,还要结合si,so,如果free很少,但是si,so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。


Io
-bi: 从块设备读入的数据总量(读磁盘) (KB/s),
-bo: 写入到块设备的数据总理(写磁盘) (KB/s)
随机磁盘读写的时候,这2个 值越大(如超出1M),能看到CPU在IO等待的值也会越大


System
-in: 每秒产生的中断次数
-cs: 每秒产生的上下文切换次数
上面这2个值越大,会看到由内核消耗的CPU时间会越多


Cpu
-us: 用户进程消耗的CPU时间百分比
us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了(比如 PHP/Perl)
-sy: 内核进程消耗的CPU时间百分比
sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。
-wa: IO等待消耗的CPU时间百分比
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。
-id: CPU处在空闲状态时间百分比


情景分析
这个vmstat的输出那些信息值得关注?
-Procs r: 运行的进程比较多,系统很繁忙
-Io bo: 磁盘写的数据量稍大,如果是大文件的写,10M以内基本不用担心,如果是小文件写2M以内基本正常
Cpu us: 持续大于50,服务高峰期可以接受
Cpu wa: 稍微有些高
Cpu id:持续小于50,服务高峰期可以接受

每秒并发处理数的计算方法

[ 2009/05/12 23:23 | by selboo ]
每秒处理的的请求数:req/s
每个请求的响应时间:response time

1、利用网络处理量计算。

计算参考公式:

并发 = connection established / min(server keepalive, server timeout)

翻译一下:

并发 = 服务器传输链接数 除以 服务器软件的keepalive设置和服务器软件的超时设置之间的最小值

这个公式算出来的数字是keepalive时间段内的平均值,比真实平均值要小一点,如果想找最大值就要设定keepalive为0或1,然后多探测几次。

connection established是服务器当前正在传输的链接,但是keepalive打开时,新建立的传输链接会一直存在直到keepalive/timeout关闭链接;客户端主动关闭链接的话connection established也会关闭,不过这种链接一般比较少,多数浏览器都是支持keepalive并遵守服务器配置的。
阅读全文
Tags: ,

SAR系统性能检测工具

[ 2009/04/08 23:52 | by selboo ]
Options:
  -A    列出保存的当天的所有活动的文件内容, 等同于-bBcdqrRuvwWy -I SUM -n FULL -P ALL

  -b    报告I/O和传送速率统计。这个参数仅用于2.5及以后内核。可显示以下字段
        tps        每秒从物理磁盘I/O的次数。多个逻辑请求会被合并为一个I/O磁盘请求。一次传输的大小是不确定的
         rtps      每秒的读请求数
         wtps      每秒的写请求数
         bread/s   每秒读磁盘的数据块数(in blocks  1 block = 512B, 2.4以后内核)
         bwrtn/s   每秒写磁盘的数据块数(in blocks  1 block = 512B, 2.4以后内核)

  -B     显示内核页统计。 可显示如下字段
         pgpgin/s
         pgpgout/s
         fault/s
         majflt/s

  -c     显示进程创建活动, 显示如下字段
         proc/s    每秒进程创建数

  -d m n  报告每个块设备的活动情况(2.4及以后内核)
         m 每m秒采样一次
         n 共采样n次
         sar -d 30 5
         Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
                          dev8-0    2.39     16.37     35.99     21.88      0.00      0.85      0.66      0.16
         tps             显示指定设备的每秒I/O流量,多个逻辑请求可以合并为一个物理请求,流量为不确定大小
         rd_sec/s        从设备读取的扇区数,(1扇区=512B)
         wr_sec/s        写入设备的扇区数
         avgrq-sz        流出设备的扇区数
         avgqu-sz        流出设备的平均队列长度
         await           从设备流出的平均I/O请时间,包括请求在队列和服务时的时间
         svctm           平均I/O请求的服务时间
         %util           I/O请求的CPU时间百分比,当数字接近100%时,设备出现饱和

  -H
  -h
  -i interval     选取尽可能接近interval所标识的数量的记录数 (Select data records at  seconds as close as possible to the number specified by the interval parameter)

  -q    报告队列长度和平均负载,可列出下列字段
        runq-sz    执行中的队列长度(等待运行的进程数)
        plist-sz   进程列表中的进程数
        ldavg-1    最后一分钟的系统负载
        ldavg-5    最后5分钟的系统负载
        ldavg-15   最后15
Tags:
分页: 2/3 第一页 上页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]