답변:
먼저 프런트 엔드 렌더링인지 아니면 실제 스크립트 실행이 느린 지 확인하십시오. Time To First Byte 브라우저에서 개발자 콘솔을 확인하십시오 . 서버에서 스크립트를 처리하는 데 걸리는 시간
스크린 샷에서 그것은 매우 낮다는 것을 알 수 있습니다 (200ms).이 경우 문제는 서버가 아니라 프런트 엔드에 있습니다. 이제 끝났 으면 잠깐 동안 최적화하고 싶을 것입니다.
실제 문제를 숨기기위한 패치 나 밴드 보조 도구가 아닌 일부 부스터와 추가 캐싱을 치기 전에 정확히 무엇이 느린 지 알아보십시오. 이를 위해 여러 도구를 사용할 수도 있습니다.
느린 쿼리
Magento는 데이터베이스에서 상당히 무거울 수 있으므로 느린 쿼리 로그를 설정하는 것이 좋은 시작점이 될 수 있습니다. 켜는 방법에 대해서는 이 게시물 을 확인하십시오 . 로그에는 X 초보다 오래 걸린 쿼리가 표시됩니다.
프로파일 러
프로파일 러는 코드에서 수행되는 작업에 대한 통찰력을 얻도록 도와줍니다. Magento의 경우 Aoe_Profiler로 시작하는 것이 좋습니다 . 설치하고 전원을 켜십시오. 프론트 엔드에서는 다음과 같은 출력을 제공합니다.
결과를 확장하고 큰 빨간색 블록이 있는지 확인하십시오. 이 시간은 코드의 특정 부분을 처리하는 데 걸린 실제 시간입니다. 많은 시간이나 메모리를 소비하는 타사 모듈을 찾으십시오.
또 다른 훌륭한 도구는 Black fire 입니다. Aoe_Profiler는 Magento의 모듈이므로 기본 PHP 프로세스를 표시하지 않으며 많은 모듈이있는 대규모 설치에서 충돌이 발생할 수 있습니다. 서버에서 검은 화재가 발생합니다. 해커 톤을 사용하면 사용할 수 있는 검은 불로 Vagrant 상자를 설정합니다 . 프로젝트를 거기에 놓고 발사하십시오. 사용 방법에 대한 자세한 내용은 Black fire 사이트를 확인하십시오.
마지막 것은 아마 내가 가장 좋아하는 것입니다 : New Relic .
불행히도 프로 계정에 대한 무료 평가판을 제공하지만 유료 서비스입니다. 서버에 설치하고 프로파일을 연결 한 후 데이터가 들어올 때까지 몇 시간 정도 기다리십시오. 상점에 약간의 트래픽이 있는지 확인하십시오.
New Relic에는 내가 추천 할 수있는 Magento를 디버깅하는 방법에 대한 블로그 게시물이 있습니다. New Relic의 추가 Magento 데이터에 대해서는 ProxiBlue New Relic 모듈 도 확인하십시오 .
기본적으로 이것은 느린 쿼리, PHP의 프로세스 등과 같은 위에서 설명한 모든 기능을 보여주고 쉬운 그래프와 테이블로 표시합니다. 이를 통해 설치 문제에 대한 통찰력을 얻을 수 있습니다.
그리고 이제 저 성능을 일으키는 원인을 알았으므로 이제 문제 해결을 진행할 수 있습니다. 속도가 느린 Magento의 부품 또는 모듈에 대해서는이 포럼 또는 Google과 같은 포럼을 확인하십시오. 많은 문제가 잘 알려져 있으며 다른 문제는 이전에 해결되었습니다. 또는 솔루션을 찾을 수없는 경우 여기에 질문을 게시하고 질문에 찾은 결과를 포함하십시오
마젠 토의 사이트 속도 최적화는 매우 광범위한 주제입니다. 이것은 당신을 도울 수있는 하나의 링크입니다.
http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/
그것의 요점을 복용
두 가지 측면에 집중해야합니다. 1. 프론트 엔드 최적화 2. 백엔드 최적화
프론트 엔드 최적화
Fooman Speedster- http: //www.magentocommerce.com/magento-connect/speedster-by-fooman.html을 설치 하고 CSS, js merge를 활성화 할 수 있습니다
관리자에서 Magento 블록 캐싱을 활성화하십시오.
Gzip 압축 사용
백엔드 최적화
전체 페이지 캐싱을 위해 니스를 구성 할 수 있습니다.
백엔드에서 복잡성을 활성화합니다.
카탈로그 (카테고리 및 제품)에 대한 평면 구조 사용
시도해 볼만한 사이트 속도를 높이는 데 도움이되는 몇 가지 유용한 정보가 있습니다.
이것을 이미지로드에 추가하여 지연 /template/page/html/head.phtml
<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>
그런 다음 /template/catalog/product/list.phtml
이미지 링크를 다음과 같이 변경하십시오.
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AQQATUqB0EhKgAAAAxJREFUCNdj+P//PwAF/gL+3MxZ5wAAAABJRU5ErkJggg==" data-src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
다른 하나는 모든 자바 스크립트와 CSS 파일을 "Pre Gzip"한 다음이를에 추가하는 것 .htaccess
입니다.
<ifModule mod_headers.c>
##### serve pre gziped files #####
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
# Serve gzip compressed CSS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [L,QSA]
# Serve gzip compressed JS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [L,QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
</IfModule>
마 젠토는 훌륭한 전자 상거래 프레임 워크입니다. 수많은 기능이 있으며 확장 가능한 전자 상거래 플랫폼을 실제로 만들 수 있습니다. 최신 프로젝트에서 Magento를 사용했으며이 속도 문제에 직면했습니다. 약간의 연구와 수정을 한 후 나는 정말로 내 웹 사이트를 가속화했습니다.
서버 최적화
마 젠토 설정
Redis 캐시, APC Opcode 및 전체 페이지 캐시 확장 설치-PHP Accelerator 설치-백엔드 및 세션 캐싱을위한 Redis 캐시 설치-Lesti FPC 설치
이미지 최적화 및 YSlow- 웹 사이트 페이지 무게의 평균 56 %가 이미지로 구성됩니다. 제품 이미지를 최적화하면 다운로드 시간이 단축되므로 페이지 속도가 크게 향상 될 수 있습니다. -gtmetrix 또는 Pingdom을 통해 웹 사이트를 검색하고 최적화 제안을 따르십시오.
CDN 사용
내 웹 사이트에서 이에 대한 자세한 내용을 읽을 수 있습니다 : http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/
공유 호스팅 환경에있는 경우 서버를 완전히 제어하지 못하고 다른 여러 웹 사이트에서 리소스를 사용하기 때문에 좋은 속도를 얻는 것이 매우 어렵지만 전용 서버에 있고 전체 관리자 액세스 권한이 있으면 바니시 캐시를 사용하십시오 .
당신이 할 수있는 다른 것들-
1. JS와 CSS 파일 결합
Magento admin -> System Configuration -> Developer -> Under “Javascript Settings”, change “Merge Javascript Files” to YES.
Magento admin -> System Configuration -> Developer -> Under “CSS Settings”, change “Merge CSS Files” to YES
2. .htaccess 파일에서 출력 압축 활성화, 헤더 만료 및 ETag 비활성화 https://stackoverflow.com/a/14745165/3114253
가능하면 CDN 사용
마젠 토의 컴파일 기능을 사용하십시오. 시스템> 구성에서 성능이 25 % -50 % 향상되는 것으로보고되었습니다. > 도구> 편집.
적은 번호를 표시하십시오. 제품 목록 페이지에서 제품 수
플랫 카탈로그를 사용하십시오.
Magento 관리자 인터페이스에서 시스템> 구성> 카탈로그로 이동하십시오. 프론트 엔드에서 플랫 카탈로그 카테고리 사용을 예로 변경하십시오. 원하는 경우 프론트 엔드에서 플랫 카탈로그 제품 사용을 예로 변경하십시오. 캐시를 지우십시오.
프론트 엔드 속도를 높이려는 경우 :
백엔드 :
마 젠토 웹 사이트 속도를 높이려면 먼저 www.gtmetrix.com 또는 Google Page Speed Insights를 사용하여 스캔하십시오.
그러면 할 수있는 일을 결정할 수 있습니다. 대부분의 경우 다음과 같습니다.
카메라에서 M1과 M2의 속도로 34 가지