램프 서버 성능 팁 [닫기]


11

LAMP 서버를 운영하는 사람에게 어떤 성능 팁을 제공 할 수 있습니까?

배포판에 특정한 것이 있다면 데비안을 목표로하고 있습니다.

답변:


26

실제로 작업량에 따라 다릅니다.

  • 대한 L의 일부

    • 많은 기억을 얻으십시오
    • 4GB를 초과 할 수 있으면 64 비트로 이동하십시오.
    • 컨텐츠, 로그 및 MySQL 데이터가 마운트 옵션 인 noatime, nodiratime을 사용하는 파티션의 경우.
    • 별도의 물리적 드라이브 / 레이드 세트를 사용하고 SQL 데이터, 로그, 제공하는 컨텐츠를 각각 별도의 스핀들에 유지하는 것이 이상적입니다.
  • 스택 의 A 부분에 대해 -아마도 nginx 또는 lighthttpd로 완전히 바꾸 거나 Apache를 동적 컨텐츠로 남겨두고 정적 컨텐츠를 위해 별도의 서버 (예 : 2 또는 mathopd )를 가질 수 있습니다. 더 많은 옵션을 보려면 여기 를 살펴보십시오 . 동일한 상자에서 Apache와 다른 서버를 모두 실행하려는 경우 두 번째 IP 주소가 유용합니다. 최종 사용자의 대기 시간을 줄이려면 http / 1.1을 keep-alive와 함께 사용하십시오. 정적 컨텐츠에 CDN 사용을 고려하십시오.

  • 램프 의 M 부분에 대해서는 mysqlperformanceblog를 살펴 보십시오 . 내 머리 꼭대기에서 :

    • 느린 쿼리 기록
    • 충분한 기억을주고
    • innodb 사용을 고려하십시오.
    • 검색 할 텍스트가 많으면 스핑크스를 사용 하고 인덱스를 다시 작성하는 배치 작업이 있어야합니다.
    • XYZ 초보다 긴 쿼리를 종료하는 것을 고려하십시오. 피크 타임에 전체 사이트를 다운시키는 것보다 1 %의 사용자를 화나게하는 것이 좋습니다. 그러나 그것은 현금 거래를 처리하거나 멋진 그림을 보여주는 지에 달려 있습니다.
    • 더 많은 '고가의'SQL 쿼리 결과를 캐시하려면 가능하면 memcached를 사용하십시오. SQL의 내용을 변경할 때 캐시를 무효화해야합니다. 반면에 모든 데이터가 메모리에 편안하게 들어가는 사이트는 거의 없으며 MySQL의 속도가 빠르며 추가 캐시가 필요하지 않습니다.
  • 에 대한 P

    • 스크립트의 실행 시간 초과를 설정합니다.
    • PHP 가속기 / opcode 캐시 사용을 고려하십시오 . 나는 xcache 에 꽤 만족 했지만 지금은 사용하지 않습니다.
    • CPU 집약적 인 처리가있는 경우-결과를 캐시하고 SQL 또는 memcached에 저장하십시오.

실제로 성능 팁은 아니지만 오프 사이트 백업을 수행하십시오. 정말.


1
내가 이것을 추가 할 수 있다면 최근에 아마존 s3을 통한 푸시 앤 풀 전략으로 안전한 백업에 대해 블로그를했습니다. 은행 데이터에는 적용 할 수 없지만 암존을 신뢰할 수있는 모든 것이 좋습니다. logaholic.de/2009/05/21/…
Karsten

나는 당신이;-]를 코멘트하기 전에 그 블로그 포스트를 실제로 알아 차렸다. 어쨌든 좋은 하나. 백업을보다 안전하게 만들기 위해 항상 백업을 암호화 할 수 있습니다.
pQd

3

두 개의 다른 컴퓨터에서 MySQL과 Apache / PHP를 분리하는 것이 좋습니다.

예를 들어, 한 대의 컴퓨터 (C2D E6600)가 항상 2.0 이상으로로드 평균을 초과했습니다. MySQL을 두 번째 컴퓨터 (P4C 3Ghz)에 넣은 후 두로드 평균이 0.2-0.3을 넘지 않았습니다. 그래서 성능이 크게 저하 된 두 대의 서버가있는 느린 사이트에서 빠른 사이트로갔습니다.


좋은 지적. 병목 현상이 IO 하위 시스템 / 드라이브 응답 성 일 수 있다고 추측 할 수 있습니다. 어쩌면 두 개의 다른 드라이브에서 데이터를 분리하거나 훌륭한 디스크 컨트롤러를 사용하면 트릭을 수행 할 수 있습니다. 어쨌든 더 많은 메모리와 더 많은 CPU가 항상 좋지만 더 많은 실패 지점을 얻습니다.
PQD

글쎄, 나는 대부분의 (90 %라고 말하자) SQL 적중이 캐시 되었기 때문에 디스크 I / O인지 확실하지 않다. CPU 컨텍스트 스위치에 대해 생각하고 있었지만 실제로 중요한 역할을 할 수 있는지 모르겠습니다.
Antoine Benkemoun

1

P 부분의 경우 APC를 사용하여 opcode 캐싱을 고려할 수 있습니다. 하나는 고려할 수 mod_fastcgi는 PHP를 대신 기본 방법 mod_php와 함께합니다.


저는 eAccelerator를 정말 좋아합니다. 내 사이트에 최고의 성능을 제공합니다.
TheHippo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.