램프 서버 성능 팁 [닫기]

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

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



답변

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

  • 대한 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에 저장하십시오.

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


답변

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

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


답변

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