웹 사이트의 대규모 동시 액세스로 인 한 성능 저하 문제를 해결 하는 방법

출처: 인터넷
작성자: 사용자
키워드: 웹 사이트 액세스 최적화

Absrtact: 다른 달 반 2013 년 봄 축제 오고 있다, 매년 해외 작업 하는 사람들 티켓 예약에 대 한 걱정이 될 것입니다. 특히, 온라인 예약, 온라인 예약 시스템을 제공 하기 위해 12306 플레이, 작년의 봄 축제에서의 다양 한, 철도의 사역 12306 웹사이트를 시작

2013 봄 축제 한 달 반에 오고 있다 그리고 모든 년 사람들 해외 예약 티켓에 의해 방해 됩니다. 특히, 온라인 예약, 온라인 예약 시스템을 제공 하기 위해 12306 다양 한 플레이, 작년의 봄 축제에서 철도의 사역 시작 12306 웹사이트, 네트워크 진짜 이름 구매 티켓의 구현, 각 원래 생각에 반환 가정, 티켓을 구입할 수 있습니다 하지만 결과 여전히 실망. 작년에 7 일, 12306 웹 사이트 사용자가 세계의 인터넷 사용자의 0.902% 차지 했다 매일 최대 1 십억 사람들의 충돌, 시스템 하지 못했습니다 같은 많은 양의 트래픽 지원 하 고 충돌에. 만약 당신이 실제 요구 사항을 충족 하려면 다음 대규모 동시에 액세스 하는 사이트,이 문제, 많은 대형 웹 사이트의 웹 마 스 터 수 있습니다 얼굴도 함께 처리할 수 필요가 12306 사이트 클릭 태양광 발전 수준, 수천만에 속한다. 사이트에 대 한 대규모 동시 액세스의 성능 문제를 해결 하기 위해 많은 일반적인 방법, 우리가 고려 하 고 최적화 다음 수준에서 할 수 있는?

서버 구성 최적화

우리는 응용 프로그램 서버 성능과 동시 소통량의 크기에 따라 응용 프로그램 서버 수를 계획 해야 합니다. 원리의 사용은 있다: 단일 응용 프로그램 서버 성능 최고, 반드시 필요 하지는 않습니다 하지만 충분 해야 것이 좋습니다 서버 오류를 위해 중복의 일정 금액을가지고. 특히, 일부 중요 한 응용 프로그램에서 서버의 수는 적절 하 게 동시 접속 봉우리 동안 증가 했다. 예를 들어 일부 피크 쿼리 비즈니스에서 사용자의 시간당 백만 클릭에 맞게 하나 이상의 서버를 사용할 수 있습니다.

둘째, 부하 분산 기술 사용

부하 분산 기술 중앙된 동시 액세스를 해결 하기 위해 핵심 기술 이며, 그것은 또한 웹사이트의 대규모 동시 액세스를 해결 하기 위해 더 효과적인 방법. 부하 분산 기술을 실현 하기 위해 주요 장비는 부하 분산 서버 이다. 예를 들어 배포 웹 사이트를 두 명의 서로 다른 서버 (2 개 이상의 서버가 제대로 웹 사이트 프로그램 실행)는, 어떤 특정 소프트웨어를 설치 하 여 이러한 서버 간에 부하 분산 됩니다. 다음, 어떤 시점에서 사이트는 대규모 액세스 직면 될 때 사용자의 요청 되며 부하 분산을 통해 바쁜에 따라 프로그램 다른 서버 자원을 자동으로 할당 서버, 최고의 처리 성능을 대규모 사용자가 다양 한 서버에 동시 접속을 균등 하 게 생성. 이 크게 높은 부하 안정성에 직면 하는 전체 웹 사이트 시스템 되도록 높은 동시 요청을 처리 하는 단일 서버를 줄일 수 있습니다.

III. 데이터베이스 구조 설계

이 문제는 일반적으로 SQL 문을 최적화 하는 소프트웨어 엔지니어의 책임 프로그램 레이어와 일부입니다. 우리가 취할 수 있는 조치 포함:는 자주 쿼리 (예: 파티션 대용량 데이터, 연도별 데이터를 분할 하는 등), 데이터베이스 테이블을 분할 하는 데이터베이스 필드를 인덱싱-sql 데이터베이스 쿼리 문 (중복 데이터베이스 작업 감소 및 쿼리 효율성 향상) 최적화를 위해.

Iv입니다. 미들웨어의 최적화

소위 미들웨어 소리 것입니다 조금 매우 깊은 기술 같은 사실, 우리 측에서 웹 마 스 터 친구, IIS, 아파치 톰캣 사이트 배포에서 자주 사용 한다, WebLogic 미들웨어. 미들웨어는 주로 클라이언트/서버 운영 체제, 컴퓨터 리소스 관리 및 네트워크 통신에 대 한 책임에 위치 해 있습니다. 간단한 예로 자바 프로젝트를 배포할 때 우리가 일반적으로 사용 하는 톰캣 미들웨어, 그리고 Tomcat 기본적으로 최적화 되지 않은 할 때 높은 동시성은 매우 쉽습니다. Tomcat의 최적화에 대 한 다음과 같은 제안을 제공 (실제에 있어 프로젝트 개발 프로세스 느낌이 더 중요 한 포인트): ① 스레드 풀 최적화, ② 부팅 메모리 최적화, ③ 로그 출력 최적화, ④http 압축 최적화, ⑤ 프로필 최적화.

Tomcat 미들웨어 (즉,: 웹 서버)의 위 예제는 단지 예를 들어 서로 다른 아키텍처를 사용 하 여 다른 사이트 다음 해당 미들웨어 최적화 것입니다 또한 다른 메서드를 Microsoft의 IIS는 해당 구성 매개 변수, 그래서 특정 최적화 방법, 프로젝트의 요구에 따라 수 매개 변수를 설정 하는 미들웨어의 최적의 설정을 실현 될 수 있다 미들웨어의 공식 문서를 참조 하십시오.

데이터 캐싱 기술 사용에 대

이제 대부분의 대형 웹 사이트는 캐싱 기술을 사용 하 여, 사용자가 자주 사용 하 여 캐시 기술 관리를 통해 데이터 요청, 사이트 액세스 속도 높이고 서버의 압력을 줄일. 캐시 기술 많은, 내가 개인적으로 실제 프로젝트 경험을 바탕, 2 종류, 즉, 데이터 캐시에 그것을 분할 하 고 캐시 페이지 수 있습니다.

① 데이터 캐싱, 즉 데이터베이스에서 데이터는 전송 직접, 하지만 오히려 데이터 메모리에 라고 불리고 크게 읽기 속도 향상 시킬 수 있는 메모리에서 읽기 이다. Memcache를 사용 하 여 데이터 캐싱 기술을 동적 웹 응용 프로그램을 빠르게 하 고 데이터베이스 부하를 줄일 최대 설정 좋습니다 데이터 기술, 오픈 소스와 고성능의 기능 때문에 캐시에 대 한 많은 시나리오가 있습니다.

② 페이지 캐싱 부분 공개 페이지에 대 한 정적 이기도 페이지 캐시의 종류, 사용자가 자주 방문 하는 페이지는 사용자가 다시 액세스할 때, 정적 페이지를 생성 하는 서버의 해당 디렉터리에 만들지만 동적 요청 서버에 직접 읽고 캐시 된 HTML 페이지에만 필요가 없습니다 이러한 방문의 효율성을 효과적으로 개선할 수 있습니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 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.