반응형
서버 성능 향상을 위한 방법
1. 패킷 보내기
일단 패킷 구조체를 포인터로 사용해서
유저 버퍼의 포인터를 넣어준다..
그래서 메모리 카피를 최대한 줄인다.
예) PACKET_LOGIN *packet = connectUser->GetSendBuffer();
문제) 같은 패킷을 여러 사람한테 보낼때 문제가 됨
2. 패킷 압축 방법
말그래도 패킷 압축
변수들의 비트를 줄인다.
예) int Count:2 -> 카운트 범위 1~1000 2바이트 사용한다는 뜻
3. 서버간에는IPC 통신을 사용한다.
TCP/IP 보다 빠르다.. 하지만 같은 지역 내에 있어야 한다.
게임서버와 로그인 서버와 통신한떄 유용하겠다.
4. DB connection Pool 사용
병렬성을 높이는 방법
5. 적절한 lock 의 사용
이건 참 중요한거 같다.. 병렬사용을 극대화 하기 위해
좋은 방법은 생각이 안난다
{
ObjectLock(&Object);
}
6. 쓰레드 풀 사용
이것도 좀 어렵고
7. 특정 IP,및유저 차단 기능
이것도 무지 유용하겠다.
8. DB cash
DB 내용을 바로 업데이트 하지 않고
따로 메모리에 올려놓는다.
DB 부하를 줄이는 방법
반응형