20250604 개발 일지. 부하 테스트 진행.
점심쯤 옴
# rtt 측정 작업 진행
패킷 하나 보내 하나 받아 측정하는 경우 0ms 걸림
패킷에 타임스탬프를 추가
# protobuf 날짜형식 사용법
proto 파일에 날짜 형식 데이터 추가하려면 프로토버프 다운로드 시 같이 제공되는 timestamp.proto를 임포트 해야 한다
import "google/protobuf/timestamp.proto";
# Environment.TickCount를 사용한 RTT 측정
더 작은 오차를 측정하기 위해 Environment.TickCount 를 사용
Environment.TickCount 사용했는데 0ms ~ 15ms 사이 시간이 걸린 경우는 측정 못하는 듯
https://stackoverflow.com/questions/243351/environment-tickcount-vs-datetime-now
더미 클라 10개, 메세지 주기 100ms, 30초 Environment.TickCount 샘플
0 ~ 15 ms 사이 값을 측정 못함
TestSession_1 - RTT 17: 156 ms
TestSession_1 - RTT 18: 156 ms
TestSession_1 - RTT 19: 156 ms
TestSession_1 - RTT 20: 156 ms
TestSession_1 - RTT 21: 0 ms
TestSession_1 - RTT 22: 0 ms
TestSession_1 - RTT 2707: 0 ms
TestSession_1 - RTT 2708: 0 ms
TestSession_1 - RTT 2709: 16 ms
TestSession_1 - RTT 2710: 16 ms
TestSession_1 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.2485507246376812 ms
TestSession_2 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.2619565217391304 ms
TestSession_3 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.4452898550724638 ms
TestSession_4 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.3057971014492753 ms
TestSession_5 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.53768115942029 ms
TestSession_6 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.5438405797101449 ms
TestSession_7 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.6018115942028985 ms
TestSession_8 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.7206521739130434 ms
TestSession_9 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.7170289855072465 ms
TestSession_10 - Total Packet Count: 2760, Min RTT: 0 ms, Max RTT: 234 ms, Avg RTT: 1.758695652173913 ms
더미 클라 10개, 메세지 주기 100ms, 30초 DateTime.UtcNow.Ticks 샘플
TestSession_1 - RTT 19: 130.2698 ms
TestSession_1 - RTT 20: 130.2718 ms
TestSession_1 - RTT 21: 0.6178 ms
TestSession_1 - RTT 22: 0.9639 ms
TestSession_1 - RTT 439: 1.3686 ms
TestSession_1 - RTT 440: 1.3723 ms
TestSession_1 - RTT 441: 0.2679 ms
TestSession_1 - RTT 442: 0.4167 ms
TestSession_1 - RTT 2729: 0.7085 ms
TestSession_1 - RTT 2730: 0.7138 ms
TestSession_1 - RTT 2731: 1.0985 ms
TestSession_1 - RTT 2732: 1.1982 ms
TestSession_1 - Total Packet Count: 2760, Min RTT: 0.0418 ms, Max RTT: 130.2718 ms, Avg RTT: 1.5050225 ms
TestSession_2 - Total Packet Count: 2760, Min RTT: 0.0713 ms, Max RTT: 130.2779 ms, Avg RTT: 1.646213695652174 ms
TestSession_3 - Total Packet Count: 2760, Min RTT: 0.0875 ms, Max RTT: 130.3195 ms, Avg RTT: 1.824317427536232 ms
TestSession_4 - Total Packet Count: 2760, Min RTT: 0.1121 ms, Max RTT: 130.303 ms, Avg RTT: 1.8939211231884059 ms
TestSession_5 - Total Packet Count: 2760, Min RTT: 0.1032 ms, Max RTT: 130.347 ms, Avg RTT: 1.9210626086956524 ms
TestSession_6 - Total Packet Count: 2760, Min RTT: 0.1259 ms, Max RTT: 130.3207 ms, Avg RTT: 1.9598955072463766 ms
TestSession_7 - Total Packet Count: 2760, Min RTT: 0.1666 ms, Max RTT: 130.3681 ms, Avg RTT: 2.03096634057971 ms
TestSession_8 - Total Packet Count: 2760, Min RTT: 0.1435 ms, Max RTT: 130.2716 ms, Avg RTT: 2.0560321376811594 ms
TestSession_9 - Total Packet Count: 2760, Min RTT: 0.2126 ms, Max RTT: 130.4066 ms, Avg RTT: 2.1589010869565217 ms
TestSession_10 - Total Packet Count: 2760, Min RTT: 0.1808 ms, Max RTT: 130.4109 ms, Avg RTT: 2.2318703623188405 ms
더미 클라 100개, 메세지 주기 100ms, 30초 DateTime.UtcNow.Ticks
평균 300~500ms 사이
TestSession_1 - Total Packet Count: 24978, Min RTT: 0.0791 ms, Max RTT: 2540.3546 ms, Avg RTT: 328.50778411802384 ms
TestSession_2 - Total Packet Count: 24598, Min RTT: 0.088 ms, Max RTT: 2497.1404 ms, Avg RTT: 285.29712261159443 ms
TestSession_3 - Total Packet Count: 26800, Min RTT: 0.0981 ms, Max RTT: 1728.067 ms, Avg RTT: 404.8048834440298 ms
TestSession_4 - Total Packet Count: 26300, Min RTT: 0.1021 ms, Max RTT: 3301.2823 ms, Avg RTT: 615.5168605437262 ms
TestSession_5 - Total Packet Count: 26000, Min RTT: 0.1186 ms, Max RTT: 1638.1777 ms, Avg RTT: 374.79050810769235 ms
TestSession_6 - Total Packet Count: 26000, Min RTT: 0.126 ms, Max RTT: 1641.172 ms, Avg RTT: 371.14128861153847 ms
TestSession_7 - Total Packet Count: 26000, Min RTT: 0.1565 ms, Max RTT: 1645.4828 ms, Avg RTT: 370.37399133846156 ms
TestSession_8 - Total Packet Count: 26800, Min RTT: 0.1731 ms, Max RTT: 1538.0835 ms, Avg RTT: 392.6699006940299 ms
TestSession_9 - Total Packet Count: 26700, Min RTT: 0.2406 ms, Max RTT: 2192.1585 ms, Avg RTT: 372.4675074644195 ms
TestSession_10 - Total Packet Count: 26000, Min RTT: 0.2473 ms, Max RTT: 1649.1329 ms, Avg RTT: 364.58664410769234 ms
TestSession_11 - Total Packet Count: 26100, Min RTT: 0.2621 ms, Max RTT: 1599.1823 ms, Avg RTT: 362.6101530421456 ms
TestSession_12 - Total Packet Count: 26000, Min RTT: 0.2807 ms, Max RTT: 1653.4408 ms, Avg RTT: 373.72100917307694 ms
TestSession_13 - Total Packet Count: 26000, Min RTT: 0.3006 ms, Max RTT: 1657.8249 ms, Avg RTT: 365.10746491538464 ms
TestSession_14 - Total Packet Count: 26000, Min RTT: 0.314 ms, Max RTT: 1679.41 ms, Avg RTT: 383.5273679769231 ms
TestSession_15 - Total Packet Count: 25322, Min RTT: 0.3326 ms, Max RTT: 2353.0989 ms, Avg RTT: 332.28460144538343 ms
TestSession_16 - Total Packet Count: 26100, Min RTT: 0.3545 ms, Max RTT: 1609.2388 ms, Avg RTT: 370.47579936398466 ms
TestSession_17 - Total Packet Count: 26000, Min RTT: 0.4016 ms, Max RTT: 1679.47 ms, Avg RTT: 367.6797765538461 ms
TestSession_18 - Total Packet Count: 26800, Min RTT: 0.5511 ms, Max RTT: 3022.7516 ms, Avg RTT: 500.3370508134329 ms
TestSession_19 - Total Packet Count: 25320, Min RTT: 0.5635 ms, Max RTT: 2673.7062 ms, Avg RTT: 370.4655053159558 ms
TestSession_20 - Total Packet Count: 25701, Min RTT: 0.5706 ms, Max RTT: 1557.148 ms, Avg RTT: 342.8951697949496 ms
TestSession_21 - Total Packet Count: 26000, Min RTT: 0.578 ms, Max RTT: 1683.6062 ms, Avg RTT: 385.89661060000003 ms
TestSession_22 - Total Packet Count: 26800, Min RTT: 0.5914 ms, Max RTT: 1557.689 ms, Avg RTT: 389.2948596567164 ms
TestSession_23 - Total Packet Count: 25366, Min RTT: 0.5987 ms, Max RTT: 2721.8832 ms, Avg RTT: 323.86952731609244 ms
TestSession_24 - Total Packet Count: 26086, Min RTT: 0.6315 ms, Max RTT: 1595.6453 ms, Avg RTT: 370.9362700605689 ms
TestSession_25 - Total Packet Count: 25081, Min RTT: 0.6193 ms, Max RTT: 2804.0263 ms, Avg RTT: 330.69945896894063 ms
TestSession_26 - Total Packet Count: 25617, Min RTT: 0.6267 ms, Max RTT: 2489.4198 ms, Avg RTT: 367.43340413397357 ms
TestSession_27 - Total Packet Count: 26071, Min RTT: 0.6581 ms, Max RTT: 1700.3868 ms, Avg RTT: 385.62286145909246 ms
TestSession_28 - Total Packet Count: 26011, Min RTT: 0.702 ms, Max RTT: 1688.2976 ms, Avg RTT: 361.41432741916884 ms
TestSession_29 - Total Packet Count: 26030, Min RTT: 0.7826 ms, Max RTT: 1692.1509 ms, Avg RTT: 374.04906582404914 ms
TestSession_30 - Total Packet Count: 26033, Min RTT: 0.7885 ms, Max RTT: 1693.133 ms, Avg RTT: 371.8312567472055 ms
TestSession_31 - Total Packet Count: 26043, Min RTT: 0.8189 ms, Max RTT: 1694.8379 ms, Avg RTT: 366.0542881772453 ms
TestSession_32 - Total Packet Count: 26046, Min RTT: 0.726 ms, Max RTT: 1695.4707 ms, Avg RTT: 366.22854702065575 ms
TestSession_33 - Total Packet Count: 25285, Min RTT: 0.7594 ms, Max RTT: 2378.3339 ms, Avg RTT: 312.77218709511567 ms
TestSession_34 - Total Packet Count: 26057, Min RTT: 0.7773 ms, Max RTT: 1697.7058 ms, Avg RTT: 383.9338536285835 ms
TestSession_35 - Total Packet Count: 26800, Min RTT: 0.7855 ms, Max RTT: 2088.2102 ms, Avg RTT: 380.88982294776116 ms
TestSession_36 - Total Packet Count: 26800, Min RTT: 0.7934 ms, Max RTT: 1618.4684 ms, Avg RTT: 399.68555136940296 ms
TestSession_37 - Total Packet Count: 26058, Min RTT: 0.8144 ms, Max RTT: 1698.1686 ms, Avg RTT: 372.67163198250057 ms
TestSession_38 - Total Packet Count: 26067, Min RTT: 0.8215 ms, Max RTT: 1699.931 ms, Avg RTT: 366.55013085894046 ms
TestSession_39 - Total Packet Count: 24739, Min RTT: 0.8286 ms, Max RTT: 3486.7025 ms, Avg RTT: 319.51584338898095 ms
TestSession_40 - Total Packet Count: 26400, Min RTT: 0.8422 ms, Max RTT: 1756.0931 ms, Avg RTT: 343.5151159393939 ms
TestSession_41 - Total Packet Count: 26078, Min RTT: 0.8899 ms, Max RTT: 2182.3203 ms, Avg RTT: 453.79049207761335 ms
TestSession_42 - Total Packet Count: 26078, Min RTT: 0.8979 ms, Max RTT: 1703.6957 ms, Avg RTT: 356.3458311105146 ms
TestSession_43 - Total Packet Count: 26078, Min RTT: 0.9218 ms, Max RTT: 1702.7547 ms, Avg RTT: 362.5043057136283 ms
TestSession_44 - Total Packet Count: 25123, Min RTT: 0.9311 ms, Max RTT: 2370.9495 ms, Avg RTT: 294.8252081757752 ms
TestSession_45 - Total Packet Count: 24516, Min RTT: 0.9516 ms, Max RTT: 3764.8642 ms, Avg RTT: 323.8643693179964 ms
TestSession_46 - Total Packet Count: 24028, Min RTT: 0.9758 ms, Max RTT: 3823.4444 ms, Avg RTT: 288.3386273763942 ms
TestSession_47 - Total Packet Count: 26800, Min RTT: 0.9806 ms, Max RTT: 1622.8252 ms, Avg RTT: 374.00623918656714 ms
TestSession_48 - Total Packet Count: 26800, Min RTT: 0.7289 ms, Max RTT: 1492.5281 ms, Avg RTT: 361.72222610074624 ms
TestSession_49 - Total Packet Count: 26600, Min RTT: 1.0291 ms, Max RTT: 1764.5511 ms, Avg RTT: 379.6204852744361 ms
TestSession_50 - Total Packet Count: 26800, Min RTT: 1.0503 ms, Max RTT: 1705.9071 ms, Avg RTT: 372.8638641716418 ms
TestSession_51 - Total Packet Count: 26800, Min RTT: 1.0594 ms, Max RTT: 1777.2013 ms, Avg RTT: 396.7059850149254 ms
TestSession_52 - Total Packet Count: 26700, Min RTT: 1.0792 ms, Max RTT: 1826.4153 ms, Avg RTT: 384.10546512734084 ms
TestSession_53 - Total Packet Count: 25476, Min RTT: 1.0946 ms, Max RTT: 2303.1142 ms, Avg RTT: 407.08423035013345 ms
TestSession_54 - Total Packet Count: 26000, Min RTT: 1.1086 ms, Max RTT: 2334.8793 ms, Avg RTT: 336.51309648076926 ms
TestSession_55 - Total Packet Count: 26600, Min RTT: 1.1606 ms, Max RTT: 2046.7319 ms, Avg RTT: 373.1077951917293 ms
TestSession_56 - Total Packet Count: 26700, Min RTT: 1.1639 ms, Max RTT: 3372.6921 ms, Avg RTT: 433.3769286142322 ms
TestSession_57 - Total Packet Count: 26800, Min RTT: 1.1722 ms, Max RTT: 2552.638 ms, Avg RTT: 508.20633952611934 ms
TestSession_58 - Total Packet Count: 26800, Min RTT: 1.1854 ms, Max RTT: 1533.9693 ms, Avg RTT: 354.42395024626865 ms
TestSession_59 - Total Packet Count: 26000, Min RTT: 1.1936 ms, Max RTT: 1662.4896 ms, Avg RTT: 308.8363037423077 ms
TestSession_60 - Total Packet Count: 26800, Min RTT: 1.2102 ms, Max RTT: 2777.5431 ms, Avg RTT: 470.99240987313436 ms
TestSession_61 - Total Packet Count: 26500, Min RTT: 1.229 ms, Max RTT: 1865.784 ms, Avg RTT: 414.0210561433962 ms
TestSession_62 - Total Packet Count: 25443, Min RTT: 1.26 ms, Max RTT: 1990.137 ms, Avg RTT: 315.6697456314114 ms
TestSession_63 - Total Packet Count: 25431, Min RTT: 1.2294 ms, Max RTT: 3169.4016 ms, Avg RTT: 337.5471109944556 ms
TestSession_64 - Total Packet Count: 24803, Min RTT: 1.2904 ms, Max RTT: 3325.1912 ms, Avg RTT: 342.2810147925654 ms
TestSession_65 - Total Packet Count: 26100, Min RTT: 1.3543 ms, Max RTT: 1662.0303 ms, Avg RTT: 345.654028 ms
TestSession_66 - Total Packet Count: 26700, Min RTT: 1.3635 ms, Max RTT: 3414.3732 ms, Avg RTT: 418.21577784269664 ms
TestSession_67 - Total Packet Count: 25030, Min RTT: 1.383 ms, Max RTT: 3569.0488 ms, Avg RTT: 359.9174563923292 ms
TestSession_68 - Total Packet Count: 26600, Min RTT: 1.3888 ms, Max RTT: 1951.4821 ms, Avg RTT: 379.71870581954886 ms
TestSession_69 - Total Packet Count: 26400, Min RTT: 1.4034 ms, Max RTT: 2300.1783 ms, Avg RTT: 323.53507077651517 ms
TestSession_70 - Total Packet Count: 26078, Min RTT: 1.1719 ms, Max RTT: 1705.5367 ms, Avg RTT: 346.530629956285 ms
TestSession_71 - Total Packet Count: 25028, Min RTT: 1.4219 ms, Max RTT: 3446.6958 ms, Avg RTT: 365.1806260068723 ms
TestSession_72 - Total Packet Count: 25305, Min RTT: 1.4378 ms, Max RTT: 1816.8953 ms, Avg RTT: 316.3453069907133 ms
TestSession_73 - Total Packet Count: 26600, Min RTT: 1.2285 ms, Max RTT: 2547.0441 ms, Avg RTT: 369.34811868421053 ms
TestSession_74 - Total Packet Count: 25050, Min RTT: 1.4668 ms, Max RTT: 2586.7414 ms, Avg RTT: 280.1970052694611 ms
TestSession_75 - Total Packet Count: 26100, Min RTT: 1.4809 ms, Max RTT: 1605.3733 ms, Avg RTT: 331.5151599885058 ms
TestSession_76 - Total Packet Count: 26800, Min RTT: 1.5107 ms, Max RTT: 1731.4795 ms, Avg RTT: 372.27050126865674 ms
TestSession_77 - Total Packet Count: 26400, Min RTT: 1.5237 ms, Max RTT: 1851.435 ms, Avg RTT: 359.1037427045455 ms
TestSession_78 - Total Packet Count: 26100, Min RTT: 1.5482 ms, Max RTT: 1607.5005 ms, Avg RTT: 331.4247204942529 ms
TestSession_79 - Total Packet Count: 26800, Min RTT: 1.5643 ms, Max RTT: 1859.1619 ms, Avg RTT: 395.2462777014925 ms
TestSession_80 - Total Packet Count: 26077, Min RTT: 1.5843 ms, Max RTT: 1706.004 ms, Avg RTT: 343.06349215784024 ms
TestSession_81 - Total Packet Count: 26700, Min RTT: 1.6053 ms, Max RTT: 1820.8634 ms, Avg RTT: 378.64752295505616 ms
TestSession_82 - Total Packet Count: 26700, Min RTT: 1.6229 ms, Max RTT: 1824.6341 ms, Avg RTT: 410.3832983520599 ms
TestSession_83 - Total Packet Count: 25073, Min RTT: 1.6401 ms, Max RTT: 3065.6842 ms, Avg RTT: 374.09779686914214 ms
TestSession_84 - Total Packet Count: 26077, Min RTT: 1.6579 ms, Max RTT: 1706.6817 ms, Avg RTT: 349.0421983970549 ms
TestSession_85 - Total Packet Count: 26700, Min RTT: 1.672 ms, Max RTT: 1789.9532 ms, Avg RTT: 422.8786314756555 ms
TestSession_86 - Total Packet Count: 26800, Min RTT: 1.6877 ms, Max RTT: 1560.1075 ms, Avg RTT: 382.1726647761194 ms
TestSession_87 - Total Packet Count: 25703, Min RTT: 1.7067 ms, Max RTT: 3192.3658 ms, Avg RTT: 636.8454980469206 ms
TestSession_88 - Total Packet Count: 26500, Min RTT: 1.7263 ms, Max RTT: 1986.1483 ms, Avg RTT: 437.52003369433965 ms
TestSession_89 - Total Packet Count: 26800, Min RTT: 1.7429 ms, Max RTT: 2610.486 ms, Avg RTT: 511.24708471268656 ms
TestSession_90 - Total Packet Count: 26700, Min RTT: 1.7639 ms, Max RTT: 2794.9741 ms, Avg RTT: 522.2351869513109 ms
TestSession_91 - Total Packet Count: 26800, Min RTT: 1.7797 ms, Max RTT: 2808.5602 ms, Avg RTT: 564.87038925 ms
TestSession_92 - Total Packet Count: 26700, Min RTT: 1.7949 ms, Max RTT: 2880.3568 ms, Avg RTT: 561.9158363707866 ms
TestSession_93 - Total Packet Count: 26800, Min RTT: 1.8191 ms, Max RTT: 3104.3942 ms, Avg RTT: 510.564277652985 ms
TestSession_94 - Total Packet Count: 26300, Min RTT: 1.831 ms, Max RTT: 3390.792 ms, Avg RTT: 656.2688827794676 ms
TestSession_95 - Total Packet Count: 26800, Min RTT: 1.8476 ms, Max RTT: 2624.5903 ms, Avg RTT: 594.4641458619403 ms
TestSession_96 - Total Packet Count: 25708, Min RTT: 1.8621 ms, Max RTT: 2642.5744 ms, Avg RTT: 459.4390498327369 ms
TestSession_97 - Total Packet Count: 26800, Min RTT: 1.8859 ms, Max RTT: 3124.9929 ms, Avg RTT: 538.2711416679105 ms
TestSession_98 - Total Packet Count: 26100, Min RTT: 1.9088 ms, Max RTT: 3158.2756 ms, Avg RTT: 571.9225475019157 ms
TestSession_99 - Total Packet Count: 26800, Min RTT: 1.9196 ms, Max RTT: 3021.0982 ms, Avg RTT: 576.1416734962687 ms
TestSession_100 - Total Packet Count: 24360, Min RTT: 1.9345 ms, Max RTT: 4056.302 ms, Avg RTT: 519.9459817692939 ms
# 할 일
코드 정리 후 채팅 서버 컨텐츠 코드 작성(방 입장 및 생성, 삭제 등) 예정
# 버그 발생
버퍼보다 큰 패킷을 보낼 경우 패킷을 나눠 받는데 버퍼 내 데이터를 처리 안 하고 계속 진행할 경우 여유 버퍼가 0이 되어 ConnectionReset 오류 코드가 발생
# 할 일 2
wpf를 클라이언트로 채팅 프로그램 제작 예정
# 결론
15ms보다 작은 시간 측정에는 DateTime.UtcNow.Ticks을 사용
# 해당 프로젝트 깃 주소
https://github.com/junhee-park/ChatingServer/tree/315f37afa3b75b7188ab90734b14ed7275941514