TinyFrame性能测试

压力测试。用TinyFrame编写Web服务器,Apache Bench(AB)程序作为客户端。客户端发出请求,服务器响应字符串“test”,以此来测量服务器并发量。

测试环境:
  1. 服务器配置:Pentium(R) Dual-Core CPU E6700 @ 3.2GHz 3.2GHz,2G RAM,Ubuntu系统。
  2. 客户端配置:Intel(R) Core2 Duo CPU T6670 @ 2.2GHz 2.2GHz,2G RAM,虚拟机Ubuntu系统。
  3. 两台机器处于同一快速以太网(100Mbps)中。
服务端测试代码:
#include <stdio.h>

#include "servermanager.h"
#include "server.h"

void request_handler(connection *conn)
{
	static char buf[] = "HTTP/1.1 200 0K\r\nConnection:keep-alive\r\nContent-length:4\r\n\r\n"
						"test";

	/* 发送HTTP响应 */
	connection_send(conn, buf, sizeof(buf) - 1);

	/* 清空输入缓冲区 */
	array_clear(conn->input_buffer);
}

int main()
{
	server_manager *manager = server_manager_create();

	/* 监听2016端口 */
	inet_address addr = addr_create("any", 2016);

	/* socket可读时调用request_handler函数 */
	server *server = server_create(manager, addr, request_handler, NULL);

	/* 开始监听 */
	server_manager_run(manager);

	return 0;
}


总请求数为100000,并发连接数从1到1000逐渐递增,测试结果如下:
Concurrency Level    Requests per second
           1                               1667.90
         10                               4592.89
         50                              7230.34
       100                              6617.45
       200                              6440.19
       400                              5002.37
       600                               4572.24
       800                               4195.10
     1000                               5540.50




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值