250k packet/sec 달성
By SeukWon Kang
이런 저런 오버헤드들을 좀 줄이고 성능위주로 설정해서 250k packet/sec 을 달성했습니다.
클라이언트 실행 인자
go run .\multiclient.go -ConnectToServer=localhost:8081 -Concurrent=100 -NetType=tcp -PacketIntervalMS=0 *main.MultiClientConfig main.MultiClientConfig ConnectToServer: string localhost:8081 NetType: string tcp PlayerNameBase: string MC_ Concurrent: int 100 AccountPool: int 0 AccountOverlap: int 0 LimitStartCount: int 0 LimitEndCount: int 0 PacketIntervalMS: int 0 exit status 2
서버 실행 결과
*main.ServerConfig main.ServerConfig TcpPort: string :8081 HttpPort: string :8080 HttpFolder: string www http server dir=www port=:8080 , http://localhost:8080/ tcp server port=:8081 Connection:0 Send:total[0 0.00/s] lap[0 0.00/s] Recv:total[0 0.00/s] lap[0 0.00/s] Connection:0 Send:total[0 0.00/s] lap[0 0.00/s] Recv:total[0 0.00/s] lap[0 0.00/s] Connection:0 Send:total[0 0.00/s] lap[0 0.00/s] Recv:total[0 0.00/s] lap[0 0.00/s] Connection:0 Send:total[0 0.00/s] lap[0 0.00/s] Recv:total[0 0.00/s] lap[0 0.00/s] Connection:0 Send:total[0 0.00/s] lap[0 0.00/s] Recv:total[0 0.00/s] lap[0 0.00/s] Connection:0 Send:total[0 0.00/s] lap[0 0.00/s] Recv:total[0 0.00/s] lap[0 0.00/s] Connection:100 Send:total[53180 7596.82/s] lap[53180 53179.88/s] Recv:total[53204 7600.25/s] lap[53204 53203.88/s] Connection:100 Send:total[284482 35556.66/s] lap[231307 231188.05/s] Recv:total[284482 35556.66/s] lap[231295 231176.06/s] Connection:100 Send:total[540831 60086.93/s] lap[256353 256352.92/s] Recv:total[540832 60087.04/s] lap[256350 256349.92/s] Connection:100 Send:total[796384 79635.81/s] lap[255562 255685.75/s] Recv:total[796401 79637.51/s] lap[255570 255693.76/s] Connection:100 Send:total[1050367 95480.61/s] lap[253988 253857.06/s] Recv:total[1050390 95482.70/s] lap[254005 253874.05/s] Connection:100 Send:total[1307236 108928.70/s] lap[256872 256872.00/s] Recv:total[1307246 108929.54/s] lap[256878 256878.00/s] Connection:100 Send:total[1562885 120218.64/s] lap[255649 255773.18/s] Recv:total[1562906 120220.25/s] lap[255670 255794.19/s] Connection:100 Send:total[1819956 129988.76/s] lap[257071 256938.29/s] Recv:total[1819977 129990.26/s] lap[257092 256959.28/s] Connection:100 Send:total[2078131 138538.47/s] lap[258183 258307.58/s] Recv:total[2078139 138539.00/s] lap[258181 258305.58/s] Connection:100 Send:total[2337589 146091.06/s] lap[259458 259324.50/s] Recv:total[2337596 146091.49/s] lap[259465 259331.50/s] Connection:100 Send:total[2597864 152811.74/s] lap[260279 260404.62/s] Recv:total[2597867 152811.91/s] lap[260278 260403.62/s] Connection:100 Send:total[2854019 158548.36/s] lap[256156 256024.07/s] Recv:total[2854044 158549.75/s] lap[256180 256048.06/s] Connection:100 Send:total[3110763 163716.03/s] lap[256750 256742.12/s] Recv:total[3110771 163716.45/s] lap[256750 256742.12/s] Connection:100 Send:total[3370932 168542.53/s] lap[260171 260297.22/s] Recv:total[3370949 168543.38/s] lap[260187 260313.23/s] Connection:100 Send:total[3627599 172734.59/s] lap[256672 256539.47/s] Recv:total[3627603 172734.78/s] lap[256670 256537.47/s] Connection:100 Send:total[3872756 176026.37/s] lap[245159 245159.05/s] Recv:total[3872759 176026.50/s] lap[245160 245160.05/s] Connection:100 Send:total[4134362 179750.84/s] lap[261612 261738.71/s] Recv:total[4134373 179751.32/s] lap[261617 261743.71/s] Connection:100 Send:total[4389765 182902.94/s] lap[255405 255404.82/s] Recv:total[4389767 182903.03/s] lap[255403 255402.82/s] exit status 2