대형 웹 사이트 (iv.)-의 고성능 아키텍처는 웹 사이트의 기술 아키텍처

출처: 인터넷
작성자: 사용자
키워드: nbsp; 캐싱 동시성 대형 웹 사이트

웹 사이트 성능 객관적인 지표로, 응답 시간, 처리량, 동시성, 성능 카운터 및 다른 기술적 지표에 반영 될 수 있습니다.

1, 성능 테스트 표시기 1.1 응답 시간

참조 응용 프로그램 시간에서 작업을 수행 하는 데 걸리는 시간 그것은 마지막 받은 응답 데이터에 요청을 보낼 필요 합니다. 다음은 시스템에 대 한 일반적인 운영 응답 일정의 목록입니다.

작업

응답 시간

웹 사이트 열기

몇 초

데이터베이스 쿼리 레코드 (인덱스)

10 개 이상의 밀리초

기계적인 디스크에 대 한 일회용 주소 지정 위치

4 밀리초

기계적인 디스크 순서에서 1 M 데이터 읽기

2 밀리초

SSD 디스크 순서에서 1 M 데이터 읽기

0.3 밀리초

원격 데이터 읽기 Redis를 배포에서 전환

0.5 밀리초

메모리에서 읽기 1 M 데이터

10 개 더 미묘한

자바 프로그램 로컬 메서드 호출

몇 가지 미묘한

네트워크 전송 2 KB 데이터

1 미묘한

실제로, 응답 시간은 일반적으로 평균시에 의해 계산 됩니다.

1.2 동시 번호

시스템 동시에 처리할 수 있으며이 번호는 시스템의 부하 성능을 반영 요청 수를 나타냅니다. 웹 사이트에 대 한 동시 숫자는 사용자가 동시에 요청을 제출의 수를 참조 하십시오.
사이트 시스템의 사용자 수 > 온라인 사용자 사이트 > 사이트의 동시 사용자의 수

1.3 처리량

전체 반영 단위 시간에 처리 하는 시스템의 수를 나타냅니다 시스템의 용량을 처리. 웹 사이트에 대 한 요청 수/초 또는 Pages/sec의 수 나 방문자/일 또는 처리 비즈니스/시간 수 측정에 사용할 수 있습니다.
TPS (초당 일 수) 처리량의 일반적인 척도 이다. 고슴도치는 또한 HPS (초당 HTTP 요청 수)는 QPS (초당 쿼리 수).

1.4 성능 카운터

시스템 부하, CPU 사용량, 메모리 사용량, 디스크 사용량, 등에 등 운영 체제의 데이터 통계의 일부를 말합니다.

2, 성능 최적화 전략

웹 사이트 아키텍처 계층, 웹 프런트 엔드 성능 최적화, 응용 프로그램 서버 성능 최적화, 스토리지 서버 성능 최적화로 분할 될 수 있다.

2.1 웹 프런트 엔드 최적화 2.1.1 브라우저 액세스 최적화 주로 Css, 자바 스크립트, 그림을 병합 하 여 HTTP 요청의 수를 줄이기 위해. 브라우저 측 캐시를 사용 합니다. 어떤 시점에서 정적 리소스 파일 쓰기 요구를 적시에 클라이언트 브라우저에 적용 되는 파일 이름을 변경 하 여 얻을 수 있습니다. 페이지 압축, 80% 까지의 텍스트 파일 압축 효율 가능 CSS 페이지의 상단에 배치 되 고 자바 스크립트 쿠키 전송을 줄이기 위해 페이지의 하단에 배치 됩니다. 쿠키를 전송 하는 별도 도메인 이름을 사용 하 여 고려할 수 있습니다. 2.1.2 CDN 가속

CDN의 본질은 여전히 캐시, 하지만 그것 사용자에 게 가장 가까운 이며 일반적으로 정적 리소스로 캐시 서버에 배포 됩니다.

2.1.3 역방향 프록시

웹 사이트 보안 및 부하를 보호 수 있는 이외에 균형, 역방향 프록시 캐싱 (동적 리소스) 제공할 수 있습니다.

2.2 응용 프로그램 서버 성능 최적화

응용 프로그램 서버 웹사이트 사업을 처리 하는 서버, 웹 사이트의 비즈니스 코드 여기 배포, 캐시, 클러스터, 비동기, 등 주요 최적화 의미.

2.2.1 분산 캐시

캐싱은 주로 높은 읽기 및 쓰기를 거의 변경 데이터를 저장 하는 데 사용 됩니다.


분산 캐싱 분산된 캐시의 제이 보스 캐시, 요구와 동기적으로 업데이트 되 고 분산된 캐시, memcached, 표현 하 고 서로와 통신 하지 않습니다 하나 두 특정 구조와 클러스터 방식에서 캐싱 서비스를 제공 하는 여러 서버 클러스터에서 캐싱 배포를 나타냅니다.


Jboss 캐시의 분산된 캐싱 클러스터의 모든 서버에서 동일한 캐시 된 데이터를 보유 하 고 서버에 캐시 된 업데이트는, 그것은 다른 기계 및 새로운 캐시 된 데이터의 클러스터에 알립니다. 장점은 지역에서 하지만 클러스터는 큰 응용 프로그램 캐시 된 데이터를 얻을 신속 하 게 수, 캐시 업데이트 정보 클러스터에 모든 기계를 통과 하는 데 필요한, 비용 상상 될 수 있다.

대형 웹 사이트 캐시 된 데이터의 많은 수를 요구, TB 메모리 풋프린트,이 시간, memcached 사용 하 여 통신 아키텍처, 각 저장 된 캐시 데이터 다를 수 있습니다.

2.2.2 비동기 작업

웹 사이트의 확장성을 높이기 위해 사용할 수 있습니다 메시지 큐 비동기 호출을.

2.2.3 사용 하 여 클러스터

경우에 사이트에 동시 접속, 동시 액세스 요청을 처리를 위해 여러 서버를 배포 하는 응용 프로그램에 대 한 여러 서버 클러스터를 구축 부하 분산을 사용 합니다.

2.2.4 코드 최적화

코드 최적화 포함 다중 스레딩 리소스 재사용 (개체 풀링 또는 하나의 예를 들어), 데이터 구조 및 가비지 수집.

2.3 스토리지 성능 최적화

분산된 스토리지, Openfiler, 디스크 어레이, HDFS (Hadoop)을 사용 하 여 고려할 수 있습니다.

원본 링크: http://blog.csdn.net/chaofanwei/article/details/27168603

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.