안녕하세요!!
다음환경에서 2티어와 3 티어 구성중 어느것이 더 빠르고 안정적일까요??
- 시스템 사양 : cpu 2.8 , ram 512 구성
- 라인 : 100메가 정도 (kt IDC 센터 입주)
- 운영체제 : window2000 서버 , mssql 7.0
위와 같은 환경에서 원거리 클라이언트가 서버 data를 읽고 쓰고 하는 환경입니다.
읽고 쓰는 빈도는 1일 대략 300 ~ 600 건
그리고 클라이언트 수는 max 50 개정도 예상 됩니다.
현재 2티어 환경인 bde 로 바로 연결해서 tcp/ip 로 바로 접속해서 사용하고 있습니다.
현재 클라이언트 수는 5개 정도 인데 아직까진 속도 부분은 문제가 안되는것 같습니다.
그런데
클라이언트가 계속 늘어나 50개 정도 이면 bde 2 티어 환경에서 견딜수 있는지 의문이
듭니다.
만약에 2티어 환경에서 50 개의 클라이언트을 처리 해내지 못하면 3티어로 환경으로
변경하면 문제를 해결 할수 있을까요.? 아니면 2티어 환경에서 50 클라이언트를
서비스 할수 있는 다른 방법이 있을까요?
위와 같은 환경에서 클라이언트가 몇대 이상일때 3티어로 구성해야 하는지 알고 싶습니다...
그리고 3티어로 구성해야 하면 어떤방법으로 접근하야 하는지 궁금합니다..
마이다스.. 아니면 코바 ...
그럼 즐거운 주말 보네세요..
BandWidth가 100Mbps 정도라고 예상됩니다..
하지만, KT IDC라고 하셨으니, 아마도 Shared 100Mbps일겁니다.
그렇다면, 평균 3Mbps정도의 속도가 나오고,
다시 Byte 단위로 나누면, 384Kbye/Sec 정도가 나올겁니다.
그러면, 별 무리가 없다고 생각할 수도 있지만,
2-Tier의 가장 큰 단점, DB Connection & Parsing 단계로 인한
문제(응답속도저하)가 발생하게 됩니다.
물론, Stored Function/Procedure를 사용한다면,
약간의 속도향상을 기대할 수 있지만,
그것도 Connection이란 문제에 부딪히게 되어,
큰 속도향상을 기대할 수 없습니다.
더불어서, Client 수(동시 접속자수가 몇 Client인지는 밝혀주시지
않아서) 20명정도로 잡고, 항상 Connection을 종료시켜준다는
가정하에서(만약, 항상 프로그램을 켜 놓는다면, connection은
계속되므로 문제가 있음) 가능할지도 모르지만,
일단, 입력하고, 저장할때에 최소 1초 정도는 소요되리라 예상됩니다.
또한, 약간의 통계를 위해서 SQL를 던지게 되면,
아마도, 소요시간이 생각보다 몇배로 많이 나오시게 될 겁니다.
따라서, MS-SQL을 사용하시고 유저가 50명 정도라면,
3-tier를 권하고 싶습니다.
3-Tier를 사용하신다면, MS-SQL이니만큼
Midas 정도를 생각하셔도 될 듯합니다.
추가적으로, Corba를 사용하는것보다..
Socket을 이용한 접속법을 추천해 드리고 싶습니다..
(제가 사용해본 결과, 백본 T1급에서 2-Tier, Oracle, Client 16 일때
속도저하는 상당했었습니다.. 간단 조회(리스트) 평균, 1.2초,
입력평균, 1초, 수정평균, 1초, 통계조회 평균, 7초,
물론, Oracle Tunning을 전임자가
잘못하여 나타나는 결과도 잇었지만, 대체적으로 그러했습니다..)
참고하시기 바랍니다..