資料介紹
軟件簡(jiǎn)介
mongols?是一個(gè) 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"); } */
壓力測(cè)試:
[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)
- 探索新潮流 — AI服務(wù)器引領(lǐng)數(shù)據(jù)中心的發(fā)展 320次下載
- 差分晶振在AI服務(wù)器中的應(yīng)用案例
- C和C++實(shí)物精選《C專家編程》 0次下載
- C和C++經(jīng)典著作《C和指針》 0次下載
- C和C++經(jīng)典著作-C專家編程.PDF 0次下載
- 基于人工智能驅(qū)動(dòng)的關(guān)鍵信息基礎(chǔ)設(shè)施防御 4次下載
- 服務(wù)器群集服務(wù)MSCS v5.1版本資源下載 0次下載
- Visual C++和MFC創(chuàng)建的應(yīng)用程序基礎(chǔ)知識(shí) 0次下載
- 成本優(yōu)化的太陽能供電公共服務(wù)基礎(chǔ)設(shè)施
- C++程序設(shè)計(jì)教程之C++的初步知識(shí)的詳細(xì)資料說明 31次下載
- MSP430優(yōu)化C/C++編譯器V 3.2用戶指南 9次下載
- 《Visual C++游戲編程基礎(chǔ)》電子書.pdf 0次下載
- TMS320F28x 優(yōu)化C/C++編譯器用戶指南 25次下載
- c280x / c2801x C / C++頭文件和外周 實(shí)例快速啟動(dòng) 7次下載
- 服務(wù)器和存儲(chǔ)器電源/冷卻趨勢(shì)和數(shù)據(jù)中心最佳實(shí)踐 33次下載
- C++簡(jiǎn)史:C++是如何開始的 415次閱讀
- 嵌入式軟件架構(gòu)基礎(chǔ)設(shè)施設(shè)計(jì)方法 689次閱讀
- 基于云解決方案的基礎(chǔ)設(shè)施 380次閱讀
- 常見的服務(wù)器有哪些?5款常見的應(yīng)用服務(wù)器介紹 1.4w次閱讀
- 如何管理刀片服務(wù)器?普通服務(wù)器與高防服務(wù)器有什么樣的區(qū)別 1414次閱讀
- 服務(wù)器有什么作用?存儲(chǔ)服務(wù)器和普通服務(wù)器到底有什么區(qū)別 5995次閱讀
- GPU服務(wù)器到底是什么?GPU服務(wù)器與普通服務(wù)器到底有什么區(qū)別 7384次閱讀
- 云計(jì)算的未來將會(huì)是無服務(wù)器嗎 2774次閱讀
- 無服務(wù)器計(jì)算的含義和作用 2604次閱讀
- 基于Java的游戲服務(wù)器開發(fā)技術(shù)體系詳解 7230次閱讀
- 如何在存儲(chǔ)基礎(chǔ)設(shè)施中使用NVMe 3719次閱讀
- smtp服務(wù)器是什么意思_smtp服務(wù)器怎么設(shè)置 15.2w次閱讀
- 應(yīng)用服務(wù)器是什么_應(yīng)用服務(wù)器有哪些 3.4w次閱讀
- 高防服務(wù)器有些什么配置_高防服務(wù)器需要注意哪些內(nèi)容 1259次閱讀
- 騰訊云首發(fā)基于賽靈思FPGA的云服務(wù)器 953次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多