fuimaz / spserver

Automatically exported from code.google.com/p/spserver
Other
0 stars 0 forks source link

性能测试报告,spserver很低,应该不是spserver的问题,请看一下 #9

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 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

GoogleCodeExporter commented 9 years ago
有先测试一下这个可执行程序功能上是正常的吗?
看上面的数据,有点怀疑程序其实没有正常执行,所完成的��
�求都是等到默认的socketTimeout。

Original comment by stephen....@gmail.com on 23 Dec 2008 at 3:32