일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- html5
- android 효과음
- soundpool
- 설치
- xe
- chart.js
- dovecot
- 폼메일
- FCM
- UML
- 안드로이드
- 자바스크립트
- Android
- php 시큐어코딩
- curl
- 안드로이드 gcm
- mysql
- WebView
- Mail Server
- 자동 생성
- not working
- roundcube
- 안드로이드 푸쉬
- 우분투
- C#
- PHP
- php 취약점
- javascript
- 안드로이드 푸시
- C# IO
- Today
- Total
그러냐
iis 에서 php mysql 접속시 속도 느려지는 현상 해결 본문
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 Record와 CNAME 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로 접속을 할 수 없는 경우에는 해당하지 않습니다.
출처: http://studyforus.tistory.com/204 [Study For Us]
'Windows server' 카테고리의 다른 글
IIS10 PHP와 PHP관리자 설치하기 (0) | 2019.07.29 |
---|---|
iis php ini 대용량 파일 전송 설정 (0) | 2018.12.18 |
IIS10 PHP와 PHP관리자 설치하기 (0) | 2018.05.03 |
Windows 10 에서 IIS 설치하기 (0) | 2018.05.03 |
윈도우10 event id 10016 (0) | 2018.02.19 |