Below you will find pages that utilize the taxonomy term “성능테스트”
Posts
250k packet/sec 달성
이런 저런 오버헤드들을 좀 줄이고 성능위주로 설정해서 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.
Posts
새 기계의 성능테스트 의 기록
새 컴퓨터가 준비 되었으니 당연히 성능테스트를 진행 해봤습니다.
사양은 전에 쓴대로 AMD 라이젠 7 3700X + X570 보드+ 128GB ram 입니다.
goguelike tower(게임) 서버와 다중 접속 테스트용 multiclient 를 사용해서
1000 클라이언트(connection)을 테스트 해보니 전혀 부하가 걸리지 않아서
10000 클라이언트를 걸어 보았습니다. 바로 open file 부족 에러가 나더군요. 까먹고 있던 linux의 서버 설정들을 해주었습니다.
/etc/security/limits.conf 파일에 * soft nofile 999999 * hard nofile 999999 * soft core unlimited * hard core unlimited
Posts
wxgame의 C/S화는 twisted 버전을 끝으로 일단 마무리 합니다.
앞으로도 자잘한 수정들은 있겠지만 큰 변화나 추가는 없을 듯 합니다.
이번에 twisted 버전을 작업하면서 오랫만에 다시 twisted를 만져 봤는데 예전에 테스트한 기억 보다 많이 빨라진 듯 합니다.
twistedtest.py를 보면 테스트 할 때 사용한 코드가 있습니다만 비록 echo 서버긴 하지만 초당 10만 패킷을 넘게 처리 하는 군요. ( intel 2500, pypy 사용, Int32StringReceiver 프로토콜, epoll reactor 사용.) 이 정도면 거의 대부분의 서버에서 필요한 성능을 충족시킬 수 있을 것 같습니다.
epoll reactor를 사용할 경우 6만 정도의 동시 커넥션 상태에서도 6만 패킷/초 이상을 꾸준히 처리 할 수 있습니다.