반응형


    Database 접속 속도 개선하기



    서버를 운영하다 보면 적어도 두가지 서버를 운영하게 됩니다. 하나는 웹서버고, 다른 하나는 DB 서버 입니다.

    오늘은 이 두가지를 연동하다 보면 간혹 설정에 따라 속도에 딜레이가 생기는 경우가 있어서 그것을 개선하기 위해 개선 방법에 대해 글을 씁니다.


    이 개선 방법이 효과적으로 사용되기 위해서는 아래와 같은 조건이어야 합니다.


    1. 웹서버와 DB서버가 같은 서버에 설치되어 있을 것

    2. DB 기본 접속주소가 localhost 일 것


    이렇게 두가지 조건으로 사용하시는 분들은 속도를 많이 개선할 수 있습니다. 데이터 베이스 서버를 설치하는 방법은 아래의 글들을 읽어보시면 도움이 됩니다.



    속도를 개선할 수 있는 방법은 2가지가 있는데 먼저 첫번째 방법입니다.




    각 웹 소스에 DB 접속 주소를 127.0.0.1로 바꾸기


    데이터 베이스가 같은 서버에 설치된 경우라면 데이터베이스 연결 주소가 localhost 또는 127.0.0.1입니다.

    각 웹소스별로 기본 설정이 조금씩 다른데, 현재 XE의 경우에는 127.0.0.1 로 되어있습니다.


    이 127.0.0.1 과 localhost의 차이는 무엇일까요?


    간단히 표현 하자면 127.0.0.1의 경우에는 내 컴퓨터로 연결하기 위한 IP주소입니다. localhost의 경우는 내 컴퓨터로 연결하기 위한 이름표(CNAME) 같은 역할을 하구요.


    예를 들어서 설명하면 휴대폰에 우리집 전화번호를 저장해놓고, 집에 전화를 걸 때 직접 전화번호를 입력해서 전화를 거는 경우 (127.0.0.1로 설정한 경우)주소록에서 "우리집"을 찾아서 전화를 거는 경우(localhost를 입력한 경우)처럼 생각할 수 있습니다.


    이렇게 IP주소와 도메인 네임으로 된 레코드를 각각 A RecordCNAME Record 라고 합니다.


    위에 설명대로 하자면, 당연히 localhost보다는 IP주소를 직접 입력하는 것이 엑서스 하는데 더 시간적인 이익이 있을 겁니다. 특히, 데이터베이스와 같은 다양한 사이즈의 많은 정보의 이동이 많은 경우라면 일일이 주소록을 거쳐서 이동하는 것 보다는 직접 주소를 통해 가는 것이 훨씬 빠르지요.


    그래서 웹 소스들을 XE 처럼 DB호스트 네임을 127.0.0.1로 바꿔주면 데이터베이스 교환에서 시간적 이익을 많이 얻을 수 있고, 전체적으로 봤을 땐 체감적으로도 빨라진 것을 느낄 수 있습니다.


    데이터베이스를 사용하는 웹 소스들의 DB호스트 네임을 127.0.0.1로 바꿔준다면 훨씬 빠른 서비스를 제공할 수 있습니다.





    하지만, 변경해야 하는 소스들이 제법 많다면 일일이 변경하기가 조금 힘듭니다. 특히 하나하나 변경을 해야하는데, 데이터베이스 정보가 저장된 위치조차 찾을 수 없는 경우가 허다 합니다.


    이런 경우 두번째 방법을 사용하면 됩니다.




    Hosts 파일에 localhost 추가하기


    일일이 수정을 할 수 없는 경우 윈도우에서는 hosts 파일을 수정하는 것만으로 직접 주소를 입력하는 것과 같은 효과를 얻을 수 있습니다.


    위에서 "직접 주소를 입력하는 것""전화번호부에서 찾는 것"으로 예를 들었는데, 이 hosts 파일에 추가한다는 것은 마치 전화번호들 중에서 필요한 것들을 "즐겨찾기로 등록"하는 것과 같습니다.


    근데 이게 단순히 실제 주소만 즐겨찾기로 등록가능 한 것이 아니라 다른 임의의 주소도 속여서 등록이 가능한데, 나중에 더 자세히 다뤄 보도록 하겠습니다.


    워낙에 hosts 파일은 유명해서 인증과정을 이야기 할 때 중요하게 거론되기도 하는데 일단 여기서 데이터베이스 접속 속도를 빠르게 하기 위한 수단으로만 알아보도록 합시다.


    hosts 파일 주소는 C:\Windows\System32\drivers\etc 에 가면 있습니다. 확장자 이름이 없는 파일로 존재합니다.





    hosts 파일을 메모장으로 열어줍니다. (다른 편집프로그램도 상관없습니다.) 



    그리고 하단부에 다음과 같이 추가를 합니다.


    127.0.0.1 localhost


    중요한 것은 앞에 #이 없어야 합니다. hosts 파일에서 줄 맨 앞에 #이 붙어있으면 주석과 같은 의미를 가집니다. 그리고 hosts 파일 안에도 localhost의 DNS를 자체적으로 컨트롤 할 수 있다고 설명에 적혀 있네요.


    이 하나의 과정만으로 앞으로 localhost는 더 이상 생각할 것도 없이 127.0.0.1이라고 가정하기 때문에 DB 호스트 네임을 127.0.0.1로 바꾼것과 시간이가 없게끔 만들어 줄 수 있습니다.


    여러파일의 데이터베이스 접속주소를 일일이 변경해야 하는 경우에는 이렇게 한번에 변경하는것과 같은 효과를 갖는 이 방법이 더 좋은 방법이라고 생각합니다. 


    이렇게 두가지 방법으로 데이터 베이스 접근 방법을 변경해도 체감상으로 빨라졌다를 느낄 수 있습니다. 

    단, 위에서도 설명드렸다시피 이미 접속 주소를 127.0.0.1로 사용하는 경우이거나 데이터데이스 서버가 달라서 127.0.0.1로 접속을 할 수 없는 경우에는 해당하지 않습니다.







    반응형
    Posted by clamp2x