-
20250604 개발 일지. 부하 테스트 진행.개발일지/C# 채팅 프로그램 2025. 6. 19. 14:12728x90
점심쯤 옴
# 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
728x90'개발일지 > C# 채팅 프로그램' 카테고리의 다른 글
20250609 개발 일지. 채팅 프로그램 개발 진행. (0) 2025.06.20 20250605 개발 일지. 온디바이스 AI 게시글 읽기. (1) 2025.06.20 20250603 개발일지. 소켓 서버 성능 테스트 진행. (0) 2025.06.19 20250602 개발 일지. 패킷 제너레이터 만들기. (0) 2025.06.19 20250530 개발 일지. 프로토버프 적용. (2) 2025.06.18