摘要:基于的多路復用,使得并沒有比性能差太多下面是我簡單做的一個,基于檢驗隧道的服務性能客戶端與服務端都搭在本地,代理同事電腦上的服務。不是特別符合應用場景,大家簡單看一下。
Spike https://github.com/slince/spike
之前由于要與一個同事遠程協作開發一款 app 需要用到內網穿透服務,在網上找到了 frp 與 ngrok ;后來我在想能不能用 php 也寫出來一個這樣的服務軟件?大家都知道 php 多進程多線程不夠友好,在 window 上還不支持;寫服務確實很吃力;不過幸運的是有ReactPHP的存在,關于 ReactPHP 不做贅述有興趣的同學可以自行百度。
基于 ReactPHP 的 IO 多路復用,使得 Spike 并沒有比 Frp 性能差太多;下面是我簡單做的一個 benchmark,基于 apache ab 檢驗 http 隧道的服務性能;客戶端與服務端都搭在本地,代理同事電腦上的 http 服務。不是特別符合應用場景,大家簡單看一下。
從下面的信息可以看出 Spike 性能似乎是稍微好點的,不過這個地方有點不公平,我在做 spike 的測試時只開啟了服務端的日志,客戶端的日志是關閉的;而 FRP 的兩端日志都是開啟的;我不知道怎么關 frp 的日志;
在這里簡單提一點由于 Spike 的日志 IO 是同步的所以日志的讀寫會耗掉部分性能,提升日志等級減少日志寫入可以提升不少的性能;
這個項目是我比較上心的一個作品,算是證明了一點,php 除了可以做網站也可以做服務,并且也沒有太差。 最后再次附上項目地址: https://github.com/slince/spike 歡迎 star,歡迎 fork
Spike:
Concurrency Level: 10 Time taken for tests: 37.727 seconds Complete requests: 100 Failed requests: 0 Total transferred: 2569900 bytes HTML transferred: 2514600 bytes Requests per second: 2.65 [#/sec] (mean) Time per request: 3772.747 [ms] (mean) Time per request: 377.275 [ms] (mean, across all concurrent requests) Transfer rate: 66.52 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.4 0 3 Processing: 533 3602 591.9 3714 4096 Waiting: 516 3587 592.3 3701 4076 Total: 534 3602 591.9 3715 4097 Percentage of the requests served within a certain time (ms) 50% 3715 66% 3791 75% 3822 80% 3844 90% 3970 95% 4015 98% 4053 99% 4097 100% 4097 (longest request)
Frp:
Concurrency Level: 10 Time taken for tests: 38.230 seconds Complete requests: 100 Failed requests: 0 Total transferred: 2569900 bytes HTML transferred: 2514600 bytes Requests per second: 2.62 [#/sec] (mean) Time per request: 3823.045 [ms] (mean) Time per request: 382.304 [ms] (mean, across all concurrent requests) Transfer rate: 65.65 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.2 0 1 Processing: 379 3650 644.4 3809 4140 Waiting: 360 3633 645.5 3789 4124 Total: 380 3650 644.4 3809 4140 Percentage of the requests served within a certain time (ms) 50% 3809 66% 3847 75% 3909 80% 3923 90% 4026 95% 4053 98% 4129 99% 4140 100% 4140 (longest request)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/23132.html
摘要:修改了一下自定義協議的傳輸形式,協議在之前的版本是設計成了類協議的形式重構的時候發現這種格式處理起來并不直接,于是便更換為了形式傳輸。按照或使用遇到問題的同學,可以直接在發帖,或者可以加群討論 showImg(https://segmentfault.com/img/remote/1460000015321166); 慣例附上項目地址 : https://github.com/slin...
這里列舉了一些比較好用的開源的內網映射工具,詳細介紹一下各個軟件工具的特點: 1. holer 輕量級的內網映射工具,holer服務端采用Java語言實現,服務端界面漂亮簡潔。Holer客戶端采用了Java語言和GO語言實現了兩種版本,支持幾乎所有的OS平臺。用到流行的微服務框架springboot和Java網絡框架netty。配置很簡單,針對所有TCP協議只需在客戶端設置一個holer acce...
摘要:簡介是一個將局域網服務器代理到公網的內網穿透工具,支持轉發基于協議的報文。 Holer簡介 Holer是一個將局域網服務器代理到公網的內網穿透工具,支持轉發基于TCP協議的報文。 showImg(https://segmentfault.com/img/bV86d9?w=1289&h=741); 相關鏈接 開源地址:https://github.com/Wisdom-Pro... 軟件...
摘要:基于開發的內網穿透工具第一次寫,估計有點不好排版,原諒俺是小白簡介性能強悍,反應速度更快支持本地任意端口可以用于開發本地網站,不需要服務器暫不支持自定義域名,只能用系統默認的兩個域名,但能支持任意子域名使用說明按以下步驟軟件打包 proxy 基于electron開發的內網穿透工具. showImg(https://segmentfault.com/img/remote/14600000...
閱讀 2113·2021-09-06 15:02
閱讀 1740·2021-08-13 15:02
閱讀 2302·2019-08-29 14:14
閱讀 1464·2019-08-26 13:55
閱讀 547·2019-08-26 13:46
閱讀 3401·2019-08-26 11:41
閱讀 508·2019-08-26 10:27
閱讀 3257·2019-08-23 15:28