工作中经常使用的软件之二:apache和memcache

以前经常听说memcache的TPS能达到几万,但一直也不知道apache的性能到底如何,所以在闲暇之余,就自己做了一下压力测试。

环境:两台开发机,一台施压,一台被压

过程如下:

1,下载、安装并启动apache 2.2.26

2,使用一个简单的网页作为测试目标

<html><body><h1>It works!</h1></body></html>

3,使用apache自带的ab命令,进行压力测试

time ab -n  -c  "http://10.210.215.145/"

结果:

并发数100,请求50000次,试验2次,两次平均时间14.4855s,TPS=50000/14.4855 = 3452

详情如下:

Server Software:        Apache/2.2.
Server Hostname: 10.210.215.145
Server Port: Document Path: /
Document Length: bytes Concurrency Level:
Time taken for tests: 14.333 seconds
Complete requests:
Failed requests:
Write errors:
Total transferred: bytes
HTML transferred: bytes
Requests per second: 3488.39 [#/sec] (mean)
Time per request: 28.667 [ms] (mean)
Time per request: 0.287 [ms] (mean, across all concurrent requests)
Transfer rate: 1004.98 [Kbytes/sec] received Connection Times (ms)
min mean[+/-sd] median max
Connect: 1.3
Processing: 7.7
Waiting: 5.7
Total: 7.7 Percentage of the requests served within a certain time (ms)
%
%
%
%
%
%
%
%
% (longest request) real 0m14.393s
user 0m0.846s
sys 0m4.538s

下面开始测试memcache

1,下载、安装并且启动memcached-1.4.16

2,设置一个key,如下:

set abc
<html><body><h1>It works!</h1></body></html>
STORED
get abc
VALUE abc
<html><body><h1>It works!</h1></body></html>
END

3,使用我自己编写的压力测试脚本进行压力测试,见博客:用epoll进行压力测试

结果:并发数100,请求500*100 = 50000次,试验2次,两次平均时间7.031s,TPS=50000/7.031 = 7111

详情如下:

time ./epoll 10.210.215.145    >abc >abc

real    0m7.099s
user 0m0.292s
sys 0m6.364s

结论:

memorycache的性能远远高于apache的性能,在我的实验中,是两倍在关系,当然实验可能会有误差。

memorycache使用的是libevent,libevent使用了epoll,而apache使用的是select

个人觉得epoll的出现正是为了克服select和poll的不足,所以memorycache性能远远高于apache的性能也不足为怪。

插曲:

当使用我自己的压力测试工具时,老是出现Cannot assign requested错误,原因如下:

我的压力测试脚本进行了50000次连接,也使用了50000个socket,也就是需要50000个端口,但系统的可用端口数是有限制的

我使用的开发机中,可用端口数只有30000多个,所以会造成实验失败。

但可以通过echo 10000 61000 > /proc/sys/net/ipv4/ip_local_port_range来进行修改。

参考文献:

造成socket.error: [Errno 99] Cannot assign requested

TIME_WAIT是什么?

对apache和memcache进行压力测试的更多相关文章

  1. 4分钟apache自带ab压力测试工具使用: 2015.10.4

    2015.10.44分钟apache自带ab压力测试工具使用:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一下部 ...

  2. win8.1上wamp环境中利用apache自带ab压力测试工具使用超简单讲解

    2015.10.4apache自带ab压力测试工具使用:本地环境:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一 ...

  3. 使用Apache的ab进行压力测试

    概述 ab是apache自带的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab然后进行apache 负载压力测试. 后台测试开发中,常用的压力测试服务,php一般选择xampp,下 ...

  4. Apache ab并发负载压力测试(python+django+mysql+apache)

    如标题,大家都知道秒杀中存在高并发使库存骤然为0,但在我们个人PC或小区域内是模拟不出这样的情景 现在利用 Apache ab并发负载压力测试 1,数据库建入库存字段并映射模型 2,view编写脚本 ...

  5. 【Apache】 ab进行压力测试

    前言: ab是apache自带的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab然后进行apache 负载压力测试. 工具: Apache ab压测工具 一.安装 (1) 下载 : ...

  6. 网站服务器压力Web性能测试(1):Apache Bench:Apache自带服务器压力测试工具

    一个网站或者博客到底能够承受多大的用户访问量经常是我们在用VPS或者独立服务器搭建网站了最关心的问题,还有不少人喜欢对LNMP或者LAMP进行一些优化以便提高Web性能,而优化后到底有多大的效果,就需 ...

  7. ab使用详解—如何使用apache性能测试工具进行压力测试

    作为后端工程师,除了实现业务需求之外,需要考虑的就是自己写的服务,在大并发下是否能正常运行了.但是,在一般开发情况下,没那么多大并发情况让你测试,那该怎么办呢? 这时候,我们就可以用到apache的压 ...

  8. Apache ab并发负载压力测试

    由于现在网站都需要能够承受高并发要求的能力,所以当我们写完代码后,如果需要上线,最好都经过压力测试后,这样比较好 运行: 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bi ...

  9. PHP测试与优化(1)-- Apache自带的压力测试工具ab(apache bench) - 简单使用

    ab是apache自带的网站压力测试工具,能够测试网站在一定时间内的发生高并发时的反应. 使用 1.进入apache的bin文件夹 2.模拟并发级别为100,请求数为1000个的api数据请求数量测试 ...

随机推荐

  1. 创建安全的ashx文件,ashx编译

    <%@ WebHandler Language="C#" Class="Handler2" %> using System; using Syste ...

  2. C#之Attribute(特性)

    本文主要复习下基础知识: 1.C#系统自带的特性: 建立一个控制台项目取名为AttributeTest: 我们添加了一个系统自带的Attribute叫Condition,这个特性表示在程序的DEBUG ...

  3. thinkphp分页实现

    以上为我对于thinkphp分页的实现效果,两种方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中 ...

  4. PHP字符

    匹配查找 strstr strpos 通常用在表单验证里面可以用到 substr 正值表达式匹配 preg_mathc(), preg)mathc_all() , preg_grep() 编码格式的转 ...

  5. 整理sed实战修改多行配置技巧

    老男孩老师有关sed实战技巧分享,来自课堂教学内容实战1.在指定行前插入两行内容,分别为oldboy和oldgirl.提示:被修改的文件内容必须要大于等于2行 1 sed -i '2 ioldboy\ ...

  6. 【Http】Http权威指南

    God Is Coder 2012-10-17 22:25 阅读:77 评论:0   <http权威指南>阅读笔记(十二) God Is Coder 2012-10-17 22:04 阅读 ...

  7. 关于《一步步学习ASP.NET MVC3》系列发布时间的说明

    在写这个系列的时候,老魏也是下了很大的决心,因为平时基本上没有时间写文章,这回我要挑战我自己的意志力,决定要把这个系列写完整. 再次呢,老魏不能向大家保证什么时间结束,但基本上要保持一天一篇的进度,如 ...

  8. Oracle本地,远程,分布式登录

    identify认证,确定; identity同一性,个性; 本地连接 sqlplus scott/tiger@localhost:1521/orcl 这句话就等于sqlplus scott/tige ...

  9. IE9、 Firefox、Safari, Chrome的CSS3圆角属性

    这篇文章主要是记录一下,微软最新发布的 IE9 浏览器CSS 圆角属性,现在CSS3已经 可以轻松实现跨浏览器的圆角效果,包括Firefox高版本,IE9,Safari,Chrome等高端 浏览器. ...

  10. 由abcd四个字符取5个作允许重复的排列,要求a出现次数不超过2次,但不能不出现;b不超过1个;c不超过3个;d出现的次数为偶数。求满足以上条件的排列数。

    一.我的解法       由于没复习,我在想一般的方法,那就是d取0.2.4,然后分步计算,得到225这个错误答案. 二.指数型母函数       设满足以上条件取个排列的排列数为,的指数型母函数为 ...