一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>mongols C++服務(wù)器基礎(chǔ)設(shè)施

mongols C++服務(wù)器基礎(chǔ)設(shè)施

2022-06-23 | zip | 4.73 MB | 次下載 | 免費(fèi)

資料介紹

授權(quán)協(xié)議 MPL-2.0
開發(fā)語言 C/C++
軟件類型 開源軟件
所屬分類 程序開發(fā)高性能網(wǎng)絡(luò)開發(fā)庫

軟件簡介

mongols?是一個 C++ 庫。

依賴:

  • linux

  • pcre-devel

  • hiredis-devel

  • zlib-devel

  • openssl-devel

  • curl-devel

sudo?yum?install?pcre-devel?zlib-devel?openssl-devel?hiredis-devel?libcurl-devel

或者:

sudo?apt-get?install?libpcre3-dev?zlib1g-dev?libssl-dev?libhiredis-dev?libcurl4-openssl-dev

特性:

epoll or epoll + multi-threading

  • tcp sever

  • http server

  • websocket server

  • web server

  • leveldb server

  • lua server

  • sqlite server

  • utils

安裝:

make clean && make -j2 && sudo make install && sudo ldconfig

使用:

pkg-config --libs --cflags mongols

例子:

#include#include#include#include#include#include#include#include/*
//websocket?server
int?main(int,char**){
int?port=9090;
const?char*?;
mongols::ws_server?server(host,port,5000,2048,4);

auto?f=[](const?std::string&?input
????????????,?bool&?keepalive
????????????,?bool&?send_to_other
????????????,?mongols::tcp_server::client_t&?client
????????????,?mongols::tcp_server::filter_handler_function&?send_to_other_filter){
keepalive?=?KEEPALIVE_CONNECTION;
send_to_other=true;
if(){
keepalive?=?CLOSE_CONNECTION;
send_to_other?=?false;
}
};
server.run(f);
//server.run();
}
*/


/*
//tcp?server?or?tcp?multi-threading?server
int?main(int,char**)
{
auto?f=[](const?std::string&?input
?,?bool?&?keepalive
????????????????,?bool&?send_to_other
????????????????,?mongols::tcp_server::client_t&?client
????????????????,?mongols::tcp_server::filter_handler_function&?send_to_other_filter){
keepalive=?KEEPALIVE_CONNECTION;
send_to_other=true;
return?input;
};
int?port=9090;
const?char*?;

//mongols::tcp_threading_server
mongols::tcp_server

server(host,port);
server.run(f);

}
*/




//http?server?or?multi-threading?server
int?main(int,char**)
{
auto?f=[](const?mongols::request&){
return?true;
};
auto?g=[](const?mongols::request&?req,mongols::response&?res){
//std::unordered_map::const_iterator?i;
//if((i=req.session.find("test"))!=req.session.end()){
//long?test=std::stol(i->second)+1;
//res.content=std::to_string(test);
//res.session["test"]=res.content;
//}else{
//res.content=std::to_string(0);;
//res.session["test"]=res.content;
//}
res.content=std::move("hello,world");
res.status=200;
};
int?port=9090;
const?char*?;
mongols::http_server?
//server(host,port,5000,1024,4);
server(host,port);
server.set_enable_session(false);
server.set_enable_cache(false);
server.run(f,g);
}

/*
//web?server?or?multi-threading?server
int?main(int,char**)
{
auto?f=[](const?mongols::request&){
if(req.&&req.uri.find("..")==std::string::npos){
return?true;
}
return?false;
};
int?port=9090;
const?char*?;
mongols::web_server?
//server(host,port,5000,1024,4);
server(host,port);
server.set_root_path("html");
server.set_mime_type_file("mime.conf");
server.set_list_directory(true);
server.run(f);
}
*/

/*
//leveldb_server?or?multi-threading?server
int?main(int,char**){
int?port=9090;
const?char*?;
mongols::leveldb_server?
//server(host,port,5000,1024,4);
server(host,port);
server.run("html/leveldb");
}
*/

壓力測試:

[centos@localhost?demo]$?uname?-a
Linux?localhost?3.10.0-862.9.1.el7.x86_64?#1?SMP?Mon?Jul?16?16:29:36?UTC?2018?x86_64?x86_64?x86_64?GNU/Linux
[centos@localhost?demo]$?cat?/proc/cpuinfo|?grep?"processor"|?wc?-l
4
[centos@localhost?demo]$?cat?/proc/cpuinfo|?grep?"cpu?cores"|?uniq
cpu?cores:?2
[centos@localhost?demo]$?cat?/proc/cpuinfo|?grep?"physical?id"|?sort|?uniq|?wc?-l
1

ab -c1000 -n100000 http://127.0.0.1:9090/

Server?Software:????????mongols/0.9.0
Server?Hostname:????????127.0.0.1
Server?Port:????????????9090

Document?Path:??????????/
Document?Length:????????13?bytes

Concurrency?Level:??????1000
Time?taken?for?tests:???8.180?seconds
Complete?requests:??????100000
Failed?requests:????????0
Write?errors:???????????0
Keep-Alive?requests:????0
Total?transferred:??????13300000?bytes
HTML?transferred:???????1300000?bytes
Requests?per?second:????12225.00?[#/sec]?(mean)
Time?per?request:???????81.800?[ms]?(mean)
Time?per?request:???????0.082?[ms]?(mean,?across?all?concurrent?requests)
Transfer?rate:??????????1587.82?[Kbytes/sec]?received

Connection?Times?(ms)
??????????????min??mean[+/-sd]?median???max
Connect:????????0???66?263.3??????7????3020
Processing:?????2???11??11.9??????9?????831
Waiting:????????0????8??11.5??????7?????829
Total:??????????6???77?265.8?????16????3033

Percentage?of?the?requests?served?within?a?certain?time?(ms)
??50%?????16
??66%?????20
??75%?????22
??80%?????23
??90%?????29
??95%???1017
??98%???1025
??99%???1030
?100%???3033?(longest?request)

ab -kc1000 -n100000 -H'Connection: keep-alive' http://127.0.0.1:9090/

Server?Software:????????mongols/0.9.0
Server?Hostname:????????127.0.0.1
Server?Port:????????????9090

Document?Path:??????????/
Document?Length:????????13?bytes

Concurrency?Level:??????1000
Time?taken?for?tests:???1.935?seconds
Complete?requests:??????100000
Failed?requests:????????0
Write?errors:???????????0
Keep-Alive?requests:????100000
Total?transferred:??????13800000?bytes
HTML?transferred:???????1300000?bytes
Requests?per?second:????51671.74?[#/sec]?(mean)
Time?per?request:???????19.353?[ms]?(mean)
Time?per?request:???????0.019?[ms]?(mean,?across?all?concurrent?requests)
Transfer?rate:??????????6963.57?[Kbytes/sec]?received

Connection?Times?(ms)
??????????????min??mean[+/-sd]?median???max
Connect:????????0????0???3.2??????0??????48
Processing:?????8???19???1.4?????18??????48
Waiting:????????0???19???1.4?????18??????25
Total:??????????8???19???3.1?????18??????64

Percentage?of?the?requests?served?within?a?certain?time?(ms)
??50%?????18
??66%?????19
??75%?????19
??80%?????19
??90%?????20
??95%?????21
??98%?????23
??99%?????28
?100%?????64?(longest?request)
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費(fèi)
  3. 2AD庫封裝庫安裝教程
  4. 0.49 MB   |  1次下載  |  免費(fèi)
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費(fèi)
  7. 4網(wǎng)絡(luò)安全從業(yè)者入門指南
  8. 2.91 MB   |  1次下載  |  免費(fèi)
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費(fèi)
  11. 6海川SM5701規(guī)格書
  12. 1.48 MB  |  次下載  |  免費(fèi)
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護(hù)等級說明
  16. 0.08 MB   |  次下載  |  免費(fèi)

本月

  1. 1貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設(shè)計(jì)指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍(lán)牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費(fèi)
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分