현재 Web 방식이 아닌 Client - Server 형식으로(옛날 방식이죠…) 개발 프로젝트에
포함되어 업무를 하고 있습니다.
Web 방식 외에 Client-server 방식은 처음이라 잘 모르기에 닷넷데브 분들께 문의드립니다.
현재 상황 :
Client - Server 베이스로 C# .net으로 구축 중
Client와 DB가 다이렉트로 붙는 건 보안정책에 위배되어 중간에 Middleware로
app 서버를 두고 WCF를 이용해 Query 및 dataset을 xml 형태로 message로 주고 받을 수 있게
구성 중(app서버에 agent 프로그램 상시 돌고 있음)
Client - DB 다이렉트로 연결 시 속도가 느리진 않는데
WCF 를 통해 시스템 사용을 하면 클릭 한 번 할 때마다 3초 정도가 걸립니다.
이 정도면 시스템 사용을 할 수 없을 것 같음
문의 사항
WCF는 분산처리 등을 이용해 속도 측면에서는 문제 없을 것이라고 생각했는데
코딩이 잘못 된 걸까요? 아니면 원래 middleware를 통해서 데이터가 전달되다 보니
다이렉트보다 느린게 맞는걸까요? 경험 많으신 분들께 조언 여쭙습니다.
이론적으로 Client-DB 다이렉트로 연결되는게 당연히 빠르겠지만, WCF 통해 연결 시
너무 느려서 이게 원래 그런건지, 아니면 코딩문제로 잘못 된 것인지 궁금합니다.
오래된 기억이긴한데 경험상 WCF 자체가 느려서 이슈가 된 적은 없었던거 같습니다.
3초면 꽤 긴 시간인데 미들웨어 구성이 어떻게 되어 있는지 모르는 상황에서 선뜻 말씀드시기 어렵긴 하네요.
WCF도 여타 다른 프레임워크처럼 trace 기능이 있는 것으로 알고 있습니다.
WCF Trace 옵션을 활성화 하신 다음 프레임워크 자체 성능과 작성하신 코드의 수행 시간을 stopwatch 등으로 측정하여 비교해 보시면 답을 찾으실수 있지 않을까 싶네요