Open GoogleCodeExporter opened 9 years ago
最近在开发一个embedded http server 硬件cpu 4*4一共16核, 16g内存,rhel 5.1 64位 测试工具loadrunner 以下测试结果为每秒点击数 libevent 11500 (cpu 90%) spserver hahs 20 (cpu 1%) spserver lf 20 (cpu 1%) asio example http 8000 (cpu 320%) asio example http2 15000 (cpu 250%) asio example http3 15000 (cpu 90%) 各个程序的功能都一样 spserver低得有点离谱,不知道是怎么回事 virtual void handle( SP_HttpRequest * request, SP_HttpResponse * response ) { string uri = request->getURI(); if (uri.find("crossdomain.xml") != string::npos) { response->setStatusCode( 200 ); string res = "<cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"*\" /></cross-domain-policy>"; response->addHeader("Content-Type", "application/xml"); response->addHeader("Content-Length", (boost::lexical_cast<std::string>(res.size())).c_str()); response->appendContent(res.c_str()); } 另外一段代码 int port = 9001, maxThreads = 10, maxConnections = 20000; int timeout = 60, reqQueueSize = 20000; // sp_openlog( "testhttp", LOG_CONS | LOG_PID | LOG_PERROR, LOG_USER ); assert( 0 == sp_initsock() ); SP_LFServer server( "0.0.0.0", port, new SP_HttpHandlerAdapterFactory( new SP_HttpEchoHandlerFactory() ) ); //SP_Server server( "0.0.0.0", port, new SP_HttpHandlerAdapterFactory( new SP_HttpEchoHandlerFactory() ) ); server.setTimeout( timeout ); server.setMaxThreads( maxThreads ); server.setReqQueueSize( reqQueueSize, "HTTP/1.1 500 Sorry, server is busy now!\r\n" ); server.setMaxConnections( maxConnections ); server.runForever();
Original issue reported on code.google.com by chenh...@gmail.com on 22 Dec 2008 at 7:04
chenh...@gmail.com
有先测试一下这个可执行程序功能上是正常的吗? 看上面的数据,有点怀疑程序其实没有正常执行,所完成的�� �求都是等到默认的socketTimeout。
Original comment by stephen....@gmail.com on 23 Dec 2008 at 3:32
stephen....@gmail.com
Original issue reported on code.google.com by
chenh...@gmail.com
on 22 Dec 2008 at 7:04