Nginx에서 WordPress 실행 속도를 늦추는 솔루션:
Wordpress 느린 실행 최적화 방법#🎜🎜 ## 🎜🎜#1. 플러그인 사용 줄이기
이것이 첫 번째입니다. 대부분의 사람들은 코딩 지식이 부족하고, 모든 플러그인을 코딩하는 것이 불가능하기 때문에 많은 수의 플러그인을 사용하는 경우가 많습니다. 대부분의 플러그인은 데이터 쿼리 및 생성을 수행하며, 이는 페이지 생성 프로세스 중에 시간이 걸립니다. 호스트에 엄격한 제한이 있는 경우(리소스 사용량 균형을 맞추기 위해) 이 시간이 더 길어질 수도 있습니다. 플러그인을 줄이는 것은 매우 필요한 최적화 방법 중 하나입니다
2. HTTP 요청 줄이기
JS, CSS 및 기타 파일에 대한 모든 액세스는 HTTP 요청입니다. 플러그인을 적게 사용하면 당연히 HTTP 요청 수도 줄어듭니다. 속도는 자연스럽게 빨라집니다.
WP는 페이지를 방문할 때마다 플러그인 사용을 결정합니다. WP가 더 적은 판단을 하게 한다는 것은 더 적은 데이터 쿼리를 수행한다는 것을 의미합니다. 부담을 덜어주세요.
3. 테마를 신중하게 선택하거나 수동으로 최적화하세요.
많은 테마는 아름답지만 최적화 측면에서 그다지 좋지 않습니다. 모든 종류의 JS, 모든 종류의 CSS, 모든 종류의 배경 이미지, 다양한 빈 줄, 다양한 중복 등이 모두 로딩 속도에 영향을 미칩니다. 하지만 그렇다고 화려한 테마를 선택할 수 없다는 의미는 아니며 기본적으로 테마가 다음 요구 사항을 충족해야 하거나 다음 요구 사항을 충족하도록 수동으로 수정할 수 있습니다.
Merge CSS and JS: Combine 여러 CSS가 1로 결합되었습니다.
배경 이미지 병합: CSS Sprites를 사용하여 대부분의 배경 이미지를 하나의 파일로 병합하면 HTTP 요청도 줄어들고 파일 크기도 줄어들며 렌더링 시간이 빨라집니다.
데이터 쿼리 줄이기: HTML을 직접 출력할 수 있는 데이터 쿼리를 만들지 마세요.
합리적인 JS 및 CSS 배치: 일부 JS 및 CSS를 웹 페이지 하단에 합리적으로 배치합니다.
테마 배경 이미지 최적화
4. 외부 리소스 사용 줄이기
외부 리소스는 자체 서버에 없는 리소스입니다. . 외부 리소스를 너무 많이 사용하면 다음과 같은 문제가 발생합니다.
DNS 확인 시간이 길어집니다
모든 도메인 이름이 제대로 작동하려면 DNS 확인이 필요합니다. 웹사이트의 콘텐츠가 a.com, b.com, c.com, d.com의 리소스를 동시에 로드해야 하는 경우 각 도메인 이름의 DNS를 별도로 확인하고 연결. 마찬가지로 사이트가 a.com이고 1.a.com 및 2.a.com과 같은 유사한 도메인 이름이 동시에 로드되는 경우 DNS 확인 시간도 길어집니다. 외부 자원을 완전히 피하는 것은 불가능하지만 가능한 한 적게 사용할 수는 있습니다.
외부 리소스의 로딩 속도가 제어할 수 없습니다
이것은 잘 알려진 이유로 주로 ficker, twitter 등과 같은 일부 외국 사이트의 콘텐츠에 대한 것입니다. , 해당 리소스를 로드할 수 없습니다. 로드 속도가 크게 느려집니다. 상대적으로 국내사이트가 상대적으로 빠른 편입니다.
5. 데이터베이스 쿼리를 줄이거나 데이터베이스 캐싱 플러그인을 사용하세요.
많은 플러그인에는 데이터베이스 쿼리가 필요합니다. 플러그인 및 테마에 대한 위 섹션에서도 코드 최적화에 대해 언급했습니다. 데이터베이스 쿼리 수를 최소화합니다. 이해가 되지 않는다면 데이터베이스의 쿼리 내용을 캐시할 수 있는 데이터베이스 캐시 사용을 고려해 볼 수 있습니다.
데이터베이스 캐시 플러그인은 정적 플러그인과 함께 사용하면 안 됩니다. 캐시 플러그인. 캐시 콘텐츠와 쿼리 감소 둘 다 함께 사용하면 작업이 중복됩니다.
6, 페이지 정적 캐싱 플러그인 사용
정적 캐싱 플러그인과 데이터베이스 캐싱 플러그인의 원리는 둘 다 콘텐츠 구성이 비슷합니다. 다시 검색하고 생성할 필요 없이 필요할 때 바로 꺼내서 시간낭비를 해보세요. 캐시된 정적 파일은 너무 복잡한 콘텐츠를 수행하지 않고도 기본적으로 정적 이미지와 동일할 수 있습니다.
GZIP을 사용하여 웹 페이지를 압축하고, 블로그 게시물 이미지를 최적화하고, CDN 분산 네트워크를 사용하여 정적 파일을 가속화하는 등의 다른 최적화 방법도 있습니다.
느린 이유를 확인하려면 워드프레스 플러그인을 설치하세요이 사이트가 일정 시간 실행된 후 시간이 걸립니다. 매번 홈페이지에 접속하는데 최대 20초가 소요됩니다. 단일 기사 페이지에 접속하는 데 10초가 소요됩니다. 이는 도저히 용납할 수 없는 일입니다. 마침내 완전히 해결하기로 마음먹었습니다.
많은 정보를 상담하여 앞선 방법을 참고하여 시스템을 최적화하였습니다.
1. 먼저 모든 플러그인을 차단하고 여전히 시스템 문제가 있는지 확인합니다.
2. httpwatch를 통해 상태를 요청하고 홈페이지에 접속된 것을 확인하면, PHP 페이지를 얻는 데 걸리는 시간은 9초이고, 이미지, js, css 등을 여는 데 걸리는 시간은 2~3초 정도이므로 발생하지 않습니다. 너무 많은 http 요청으로 인해.
3. mysql 데이터베이스의 느린 쿼리를 열고 데이터베이스의 느린 쿼리 상태를 확인합니다. 일부 쿼리를 테스트해본 결과 속도가 매우 빠른 것으로 나타났습니다. 따라서 데이터베이스 요소도 제거할 수 있습니다.
정말 선택의 여지가 없군요. 마지막으로 WordPress 플러그인을 사용하여 표시된 홈페이지에서 어떤 일이 일어나는지 연구한 다음 가장 오래 걸리는 부분을 확인한 다음 그에 따라 천천히 최적화하는 것을 고려했습니다. . 이것이 유일한 방법입니다.
워드프레스 웹사이트에 가서 디버그 플러그인을 검색해 봤지만, 그 중 어느 것도 내 요구 사항을 충족하지 못했습니다. 드디어 "Debug Queries" 플러그인을 찾았습니다. wp의 예전 습관에 따라 다운로드해서 설치했습니다. 마지막으로 아래 그림과 같이 활성화 버튼을 클릭하여 플러그인을 활성화합니다.
플러그인 설치 후 홈페이지를 열어서 효과를 확인해 보니 변화가 없는 걸 확인
드디어 기사 페이지를 열어서 오랫동안 찾던 내용을 찾아봅니다. 기사 페이지 하단에 있는 사진입니다.
일부 표시는 서로 다른 색상의 영역으로 만들어졌습니다.
빨간색 영역: 시간: 0.000xxxx 쿼리에 필요한 시간
녹색 영역: 쿼리: 쿼리 sql 문
Call from: require, xxx Calling 순서 등
다음은 추가 호출입니다. 이 페이지에는 이 페이지 표시 프로세스 중에 호출되는 함수 및 호출 프로세스와 필요한 시간(이 시간과 PHP에서 소비한 시간을 계산한 총 시간을 기준으로 한 데이터베이스 쿼리 시간)이 표시됩니다.
마지막 페이지는 다음과 같습니다.
파란색 부분: 이번 방문에 대한 데이터 쿼리 시간을 요약한 것입니다. 쿼리에 총 0.24초가 걸렸고, 83개의 쿼리가 발생한 것을 알 수 있습니다. (이 역시 wp 플러그가 있음을 나타냅니다. -in은 성능 문제를 가져오지만, 현재 시스템의 데이터 양이 상대적으로 많기 때문에 시스템 성능에는 영향을 미치지 않습니다.)
녹색 부분: 이 사용자가 방문한 전체 시간을 요약한 통계입니다. 여기에는 PHP의 전체 시간이 포함되어야 합니다.
빨간 부분: 이번 방문의 총 시간입니다.
보라색 부분: 이번 방문 동안 PHP 프로그램에 소비한 비율입니다. 97.5%
노란색 부분: 이번 방문 동안 MySQL 데이터베이스에 소비된 시간의 2.5%
위 데이터에서 우리는 10초 사용자 방문에서 MySQL이 그 시간의 2.5%만 점유했음을 알 수 있습니다. 10초 접속 문제는 mysql이 아닌 다른 링크에서 발생한 것이 확실하며, 주로 php의 문제일 것입니다.
느린 문제를 해결하려면 PHP 프로세스를 다시 시작하세요
위 부서의 분석을 통해 문제가 PHP에 있을 가능성이 높다는 것을 이미 알 수 있었습니다. PHP 문제를 해결하는 것은 제 전문 분야가 아니기 때문에 다시 시작하기로 결정했습니다. 효과를 확인하기 위한 PHP 프로세스.
1. php 프로세스를 찾습니다
su – 명령을 입력하고 루트 계정으로 전환합니다
입력: ps -ef | grep php 명령, 다음과 같이 php 프로세스를 확인합니다
picture PHP 프로세스 ID는 26765이고, 프로세스 이름은 php-fpm입니다(이것은 nginx에 필요한 PHP 프로그램입니다).
2. PHP 프로세스의 시작 경로를 찾으세요
다음 명령을 입력하세요. lsof -p 8584(여기서 8584는 문제 해결 시 PHP 프로세스의 ID입니다. 위의 26765는 여전히 검색된 프로세스의 ID입니다. for 최근 기사에서)
3. 프로세스 닫기
kill -9 8584 이전 PHP 프로세스 닫기
때때로 PHP가 닫기 어려운 프로세스를 많이 열었을 경우 다음 방법을 사용할 수 있습니다
. killall php-fpm (이 사이트에서는 이 방법을 사용합니다)
4. PHP 프로세스를 다시 시작합니다
다음 명령을 입력하세요
/usr/sbin/php-fpm 프로세스를 다시 시작합니다
더 많은 WordPress 관련 기술 기사를 보려면 다음 사이트를 방문하세요. 워드프레스 튜토리얼 칼럼을 통해 배워보세요!
위 내용은 nginx에서 WordPress를 최적화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!