안녕하세요.. 화랑입니다..
오늘 황당한 현상이 나타나서 글을 올립니다..
델파이로 짠 소켓 서버 프로그램이 있습니다..
근데 이 프로그램이 동시에 많은 접속이 일어날경우..
한개의 CPU가 있는 서버에서는 잘 돌아가는데. 왜 2개 이상의
서버에서는 느려지는 현상이 나타났습니다..
이것을 어떻게 해석을 해야할지 몰라서 질문을 올립니다.
누가 해결 방법도 부탁드립니다. ^^
서버 - 소켓서버, 하는일 클라이언트의 명령을 받아서.. DB 접속을 하고
데이터를 Stream으로 변환해서 클라이언트로 Stream을 전송
테스터 클라이언트는 초당 동시에 10정도의 명령을 서버로 전송함...
소켓서버가 스레드로 동작한다면 위와 같은 현상이 나올수있다고
생각되네여.
스레드는 1CPU에서는 그냥 순차적으로 돌아가니까 잘모르지만
2CPU이상에서는 CPU별로 돌아가게 되구 여기서 상호간섭이 생긴다면
위의 현상이 벌어질 수 있슴니다.
제가 볼때 간섭이 일어나는 상황이 DB때문인 걸루 보이는데여
흠 단순하게 DB접속만 하나여 아니면 다른작업을 하는건가여?
DB작업을 한다면 여기에서 락이 걸려 느려지지 않나 보임니다.