ab 测试 ab test 压力测试,ab使用解析

ab是一款很好用的压力测试工具,linux自带不需要另外安装,一下是ab其中的几个关键参数 还有 使用实例
Requests per second:每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量
Time per request: 用户平均请求等待时间
Time per request:服务器平均处理时间,也就是服务器吞吐量的倒数
Transfer rate:每秒获取的数据长度

例如,百度的压力测试 1000个请求 50个并发

ab -n 1000 -c 50 http://www.baidu.com/

结果如下

[root@JOE-PC ~]# ab -n 1000 -c 50 http://www.baidu.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.baidu.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software: BWS/1.0
Server Hostname: www.baidu.com
Server Port: 80

Document Path: /
Document Length: 10969 bytes

Concurrency Level: 50
Time taken for tests: 12.321 seconds
Complete requests: 1000
Failed requests: 452
(Connect: 0, Receive: 0, Length: 452, Exceptions: 0)
Write errors: 0
Total transferred: 11343952 bytes
HTML transferred: 10794566 bytes
Requests per second: 81.16 [#/sec] (mean)
Time per request: 616.039 [ms] (mean)
Time per request: 12.321 [ms] (mean, across all concurrent requests)
Transfer rate: 899.14 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 6 174 341.0 87 3085
Processing: 6 363 516.3 207 5062
Waiting: 4 153 135.3 106 1502
Total: 23 536 611.3 295 5152

Percentage of the requests served within a certain time (ms)
50% 295
66% 396
75% 661
80% 771
90% 1282
95% 1569
98% 2499
99% 3535
100% 5152 (longest request)

redis专题 redis安装 phpredis客户端安装 redis的session存储 php拓展redis库安装

大家都知道noSQL 就是分关系数据库,光知道没用 学习才是硬道理,本文讲述redis的安装,redis php 的拓展库安装 已经用redis存储session
下载:http://www.redis.io/download
参考官方安装很简单

$ wget http://download.redis.io/releases/redis-2.6.16.tar.gz
$ tar xzf redis-2.6.16.tar.gz
$ cd redis-2.6.16
$ make

另外可用 make PREFIX=/usr/local/redis install 指定安装目录
说明:安装仅安装二进制文件,配置文件在安装目录

运行服务
配置文件要单拿出来,然后修改里面的 daemonize no 改为daemonize yes

./src/redis-server redis.conf

安装redis php拓展
官方推荐了几款php客户端拓展 其中Predis、phpredis都比较不错
推荐使用phpredis这个用C写的,采用模块式方式
PhpRedis项目地址:https://github.com/nicolasff/phpredis

我们把PhpRedis安装到/usr/local/phpredis

cd /usr/local/
git clone https://github.com/nicolasff/phpredis.git
cd phpredis
phpize
./configure
make && make install

一定要在phpredis目录里执行phpize
如果phpize报错

Can’t find PHP headers in /usr/include/php

则用yum install php-devel 解决(如果软件源里找不到php-devel 在安装个remi软件源)
在php.d配置目录里添加 redis.ini 目录通常在/etc/php.d/
添加内容

extension=redis.so

然后保存为redis.ini文件 重启服务器
当执行php中的phpinfo()方法会看到redis已经在里面了

用redis存储session
我觉着这是一个比较实用的功能,大数据量 集群架构,导致web前端服务器生成的session存储在不同位置,而客户端每次访问 都可能被分配到不同的web服务器上 这样不能保证session,或导致第一次登陆了,再刷新就退出了
那我们可以把session存储在redis上,当然也可以存在memcache上
编辑 /etc/php.ini

session.save_handler = redis
session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"

session.save_path中host分别替换真实的服务器ip地址 其中weight是权重,比如示例中配置了三台 权重分别为1 2 2,那么就会把五分之一的用户分给host1,而host2 host3分别分配五分之二的请求
具体参考https://github.com/nicolasff/phpredis#php-session-handler

几个出色的PHP库 最佳php库

PHP标准库 (SPL)的目的就是提供一组接口,让开发者在PHP5中充分利用面向对象编程。因此本文我们搜集了8个最好的,能辅助开发者简化他们的工作,为他们的开发任务服务的PHP库。

如果你喜欢本文,也许你对我们的其他文章感兴趣:8个给开发者的最好的PHP工具和应用
1. Whoops : 更好的php错误报告库
Whoops是一个易于处理和调试错误的PHP库 。它提供基于堆栈的的错误处理和好看的错误界面。它有个简单的API来处理异常,跟踪帧和数据,并能和任何框架整合(随时可用的集成端和Silex)。
2. PhpFastCache
phpFastCache 是一个开源的 PHP 缓存库,只提供一个简单的 PHP 文件,可方便集成到已有项目,支持多种缓存方法,包括:apc, memcache, memcached, wincache, files, pdo and mpdo。可通过简单的 API 来定义缓存的有效时间。
3. Eden : 功能强大的 PHP 库
Eden是一个开源且免费的PHP快速开发类库。它包含很多组件用来自动加载、事件驱动、文档系统、缓存、模板、国际化、数据库、web服务、支付网关、装载和云服务技术。为了给我们最好的选择,他已经将现有的函数实现了与谷歌服务(Youtube, Drive, Contacts, Analytics, Checkout, Maps),Facebook(脸谱), Twitter(推特), Tumblr(轻博客), PayPal(贝宝), Authorize.net, FedEx(联邦快递), UPS(联合包裹服务公司), Amazon + Rackspace Clouds(亚马逊+Rackspace 云)等服务的交互。
4. Php Error
PHP Error 是一个开源的 PHP 库,用于转换标准的 PHP 错误信息,主要用于开发过程中的调试。PHP Error 紧密集成到 PHP 环境中,显示带语法高亮的错误提示。
5. Detector
Detector是一个开源的PHP类库用于检测关于用户的浏览器环境的许多东西。它可以获得浏览器的使用和浏览器的html5 css3功能,分析是否移动电话、平板电脑、桌面或网页爬虫和其他项如:颜色深度, 视口尺寸、cookie等支持。类库可以自动适应新的浏览器、版本和设备对每一个浏览器使用独特的用户代理字符。
6. Opauth
Opauth 是一个开源的 PHP 库,提供了 OAuth 认证的支持,让你无需关注不同 Provider 之间的差别,提供统一标准的访问方法。目前支持 Google、Twitter 和 Facebook,其他的 Provider 支持也将陆续提供。同时也支持处理任何 OAuth 认证提供方。
7.pChart
pChart 是一个 PHP 类库用来创建各种图表,可从 SQL 查询、CSV 文件以及手工提供图表的数据来源。强项是图表的渲染质量,该项目开发活跃,每周都有新特性和 bug 修复。
8. Php Thumb
PHP Thumb 是一个 PHP 的类用来生成图片的缩略图。 只需数行代码即可,支持多种图片来源,包括文件系统或者数据库,支持大多数图片格式。并可对图片进行旋转、剪切、加水印等等。可执行定义缩略图的质量,提供内建的缓存以降低服务器的负载。