사이트 로딩 속도가 매우 느림


25

내 고객의 Magento 사이트 페이지로드 속도가 매우 느립니다. 페이지로드 시간을 줄이려면 어떻게해야합니까?

사이트 URL은 desibazaar.pk입니다.

답변:


36

먼저 프런트 엔드 렌더링인지 아니면 실제 스크립트 실행이 느린 지 확인하십시오. 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과 같은 포럼을 확인하십시오. 많은 문제가 잘 알려져 있으며 다른 문제는 이전에 해결되었습니다. 또는 솔루션을 찾을 수없는 경우 여기에 질문을 게시하고 질문에 찾은 결과를 포함하십시오


"BlackFire"에 대한 통찰력을위한 우수 .. 감사합니다
라지브 K 다카라 토미

11

마젠 토의 사이트 속도 최적화는 매우 광범위한 주제입니다. 이것은 당신을 도울 수있는 하나의 링크입니다.

http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/

그것의 요점을 복용

두 가지 측면에 집중해야합니다. 1. 프론트 엔드 최적화 2. 백엔드 최적화

프론트 엔드 최적화

  1. Fooman Speedster- http: //www.magentocommerce.com/magento-connect/speedster-by-fooman.html을 설치 하고 CSS, js merge를 활성화 할 수 있습니다

  2. 관리자에서 Magento 블록 캐싱을 활성화하십시오.

  3. Gzip 압축 사용

백엔드 최적화

  1. 전체 페이지 캐싱을 위해 니스를 구성 할 수 있습니다.

  2. 백엔드에서 복잡성을 활성화합니다.

  3. 카탈로그 (카테고리 및 제품)에 대한 평면 구조 사용


1

시도해 볼만한 사이트 속도를 높이는 데 도움이되는 몇 가지 유용한 정보가 있습니다.

이것을 이미지로드에 추가하여 지연 /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>

1

마 젠토는 훌륭한 전자 상거래 프레임 워크입니다. 수많은 기능이 있으며 확장 가능한 전자 상거래 플랫폼을 실제로 만들 수 있습니다. 최신 프로젝트에서 Magento를 사용했으며이 속도 문제에 직면했습니다. 약간의 연구와 수정을 한 후 나는 정말로 내 웹 사이트를 가속화했습니다.

서버 최적화

  • 웹 서버로 Nginx 사용
  • 마스터-슬레이브 복제본을 사용하여 MySQL을 다른 서버로 이동하십시오. AWS를 사용하는 경우 RDS for MySQL을 사용하십시오.
  • Nginx 및 Php-fpm 최적화
  • gzip 압축 사용
  • 브라우저 캐시 사용

마 젠토 설정

  • 불필요한 확장을 모두 비활성화
  • CSS 및 JavaScript 파일 병합
  • 로그 비활성화
  • 마 젠토 로그 테이블 정리
  • 외부 전체 페이지 캐시 사용

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/


0

공유 호스팅 환경에있는 경우 서버를 완전히 제어하지 못하고 다른 여러 웹 사이트에서 리소스를 사용하기 때문에 좋은 속도를 얻는 것이 매우 어렵지만 전용 서버에 있고 전체 관리자 액세스 권한이 있으면 바니시 캐시를 사용하십시오 .

당신이 할 수있는 다른 것들-

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

  1. 가능하면 CDN 사용

  2. 마젠 토의 컴파일 기능을 사용하십시오. 시스템> 구성에서 성능이 25 % -50 % 향상되는 것으로보고되었습니다. > 도구> 편집.

  3. 적은 번호를 표시하십시오. 제품 목록 페이지에서 제품 수

  4. 플랫 카탈로그를 사용하십시오.

Magento 관리자 인터페이스에서 시스템> 구성> 카탈로그로 이동하십시오. 프론트 엔드에서 플랫 카탈로그 카테고리 사용을 예로 변경하십시오. 원하는 경우 프론트 엔드에서 플랫 카탈로그 제품 사용을 예로 변경하십시오. 캐시를 지우십시오.


0

프론트 엔드 속도를 높이려는 경우 :

  • 이미지에 CDN을 사용하고 (!) 이미지 크기를 줄입니다.
  • CSS와 JS를 연결
  • 닫는 body 태그 전에 JS를로드하십시오.
  • 가능할 때마다 비동기 js 로딩을 사용하십시오.
  • 수천 개의 png 파일 대신 이미지 스프라이트 또는 아이콘 글꼴을 사용하십시오.
  • 사용하지 않는 CSS를 줄입니다
  • CSS 의 중요한 경로 를 생성

백엔드 :

  • 니스 (TTFB <15ms) 또는 LestiFpc 와 같은 추가 캐시를 사용하십시오.
  • 페이지 로딩 및 복잡한 MySQL 쿼리 프로파일 링 및 수정
  • .htaccess를 통해 gzip, etags, 브라우저 캐시 등을 활성화하십시오.
  • 단일 서버에서 MySQL 사용

개인 이익을 위해 초대 URL이있는 유료 서비스에 연결하지 마십시오.
7ochem

0

마 젠토 웹 사이트 속도를 높이려면 먼저 www.gtmetrix.com 또는 Google Page Speed ​​Insights를 사용하여 스캔하십시오.

Google 페이지 속도 점수

그러면 할 수있는 일을 결정할 수 있습니다. 대부분의 경우 다음과 같습니다.

  • TTFB (time to first byte)최적화하여 서버 응답 시간을 줄입니다.
  • 자바 스크립트 파싱 연기
  • 이미지 최적화
  • CSS 스프라이트 사용
  • 이미지 차원 설정
  • CSS / JS / HTML 축소
  • 더 적은 수의 HTTP 요청에 JS / CSS 병합

카메라에서 M1과 M2의 속도로 34 가지

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.