APACHE 요청(Request)하나 당 프로세스(또는 스레드)가 처리하는 구조 즉 요청이 많을수록 CPU와 메모리사용이 증가 -> 성능 저하 서버의 프로세스가 블록킹이 되면 요청을 처리하지 못하고, 처리가 완료 될 때까지 계속 대기 하는 일이 발생 위의 문제는 Keep Alive를 활성화 함으로써 해결 가능하나, 이 때문에 대량 접속 시 효율이 급격히 떨어지는 다른 문제가 발생 Keep Alive? KeepAlive On -> KeepAliveTimeOut 시간동안 접속을 끊지 않고 다음 접속을 기다림 한 번 연결된 클라이언트와 통신을 유지하고 있기에, 다음 통신시 Connection을 생성하고 끝는 작업이 불필요 성능 향상을 기대 할 수 있음 정적 자원으로만 구성된 웹 서버에 설정시 약 50% 성능 ..
Proxy Server 프록시 서버의 종류와 역할을 알아보자 Forward Proxy 흐름 Client -> Proxy, FireWall -> Internet -> Server 설명 Client을 대변한다. 외부로 나가기전에 Proxy를 거치므로 Client의 정보를 숨길 수 있다. 같은 이유를 외부를 나가는 Request를 통제 할 수 있다. (내부통신통제) 내부에서 외부로의 통신, Caching을 하면 성능향상 기대 가능 Reverse Proxy 흐름 Client -> Internet -> FireWall, Proxy -> Server 설명 Server를 대변한다. Target서버에 도달하기 전에 Proxy를 거치므로 Target서버의 정보를 숨길 수가 있다. 로드벨런스와 같이 특정 Target서버로..
SQL vs NoSQL 둘의 차이를 비교해보자 비교 SQL NoSQL 규칙에 맞는 데이터 입력 자유로운 데이터 입력 테이블간 JOIN 지원 컬렉션간 JOIN 미지원 트랜잭션 지원 트랜잭션 미지원 안전성, 일관성 확장성, 가용성 용어: 테이블, 로우, 칼럼 용어: 컬렉션, 도큐먼트, 필드 * 트랜잭션의 경우 몽고DB v3에는 지원하지 않으나 v4부터는 지원할 것이라고 한다 NoSQL 등장배경 지난 20년, 트랜잭션을 통한 안정적 데이터 관리가 가능한 RDB가 대세였다 WEB2.0 + 빅데이터의 등장 => 데이터 처리 비용증가로 위기가 왔다 데이터 트래픽 증가 -> 1대에서 실행되는 것으로 설계된 RDB에서는 큰 비용으로 다가옴 스캐일 아웃이아닌 스캐일 업을 해야 하기에 OMG! NoSQL은 일관성을 어느정..
스케일 아웃, 스캐일 업, 로드밸런싱 서버 확장을 위한 방법 스케일 아웃 (Scale out) 서버를 여러 대 추가하여 시스템을 확장 하는 방법 서버가 여러대가 되기에 로드밸런싱이 필수 다중화를 통해서 서버에서 장애가 나더라도 다른 서버에서 대응이 가능 반면 모든 서버가 동일한 데이터를 가지고 있어야기야 데이터 변화가 적은 웹서버에 적합 스케일 업 (Scale up) 서버에 CPU / RAM 등을 추가하거나, 고성능의 부품, 서버로 교환하는 방법 추가적으로 장비를 장착한 여유 슬롯이 있어야 하며 그렇지 않으면 서버 자체를 교환해야 한다 스케일 업의 경우 모든 부하가 서버 한 대에 집중되므로 장애시 위험하다 모든 데이터를 한 곳에서 처리하므로 데이터 갱신이 빈번하게 일어나는 데이터베이스 서버에 적합 로드밸..
특정 디렉토리에 접근을 제한하기 위한 방법으로 아파치 인증을 설정할 수 있습니다. Basic, Digest 이 두가지의 방식을 소개합니다. 기본설명 아래의 사진과 같이 특정 디렉토리/URL에 접근을 제어할 수 있도록 해주기 위한 방법을 소개하겠습니다. Basic 말그대로 기본적인 방법으로 인증을 요구하는 방식입니다. 간단한 방법/방식(Base64) 때문에 보안수준은 낮은편이나 간단하다는 장점이 있습니다. .htaccess 를 기준으로 예시를 작성하겠습니다. AuthType Basic # 인증방식 AuthName Guest # 영역(realm)을 지정합니다. 한 번 인증된 영역은 다시 묻지 않습니다. AuthUserFile /usr/apache/passwd/.htpasswd # 인증 ID/PW정보가 담긴 ..
소개 img 태그는 src라는 attribute에 이미지의 주소를 입력함으로써 사진을 보여줄 수 있는 태그입니다. src에 입력한 주소가 유효하지 않을 경우, 엑스박스 흔히 엑박이라고 불리우는 것이 뜨게 됩니다. 이는 미관상 좋지 않기에 적절한 이미지로(아래 이미지와 같은) 대체 해주면 보다 친절한 사이트가 될 수 있겠지요. onError기능을 이용해서 대체 이미지를 띄우는 방법을 html, js로 나눠서 소개하겠습니다. 코드예시 - html - js var img_elm = document.getElementById("태그_아이디"); img_elm.onerror = function() { this.scr = "대체_이미지_주소"; }