it-swarm-ko.tech

스케일링 a WP 전자 상거래 사이트

질문과 관련된 .

WP에서 대규모 전자 상거래 사이트를 최적화하기위한 도구, 플러그인에 대한 권장 사항. 현재 1000 개의 항목과 5000 개의 항목이 추가로 나타납니다. 최적화가 수천 명의 사용자를 지원하는 표준 블로그와 다른 것으로 보입니다. WP에서 개발중인 상점 수가 증가하고 있으며 최적화 패키지를 함께 사용하면 도움이 될 것입니다.

MM/RC

5
RealityCramp

저는 Shopp 플러그인을 사용하여 Wordpress를 사용하는 55k 제품 전자 상거래 사이트를 개발했으며, 성능 향상을 위해 MySQL에 한 것을 공유 할 수 있습니다. YMMV 및 일부 또는 전부가 해당 상황에 적용되지 않을 수 있습니다.

"show status"sql 명령의 결과를보고 버퍼/캐시를 얼마나 많이 늘릴 지 결정하십시오. 유용 할 수있는이 출력을 꽤 많이 사용하는 도구가 있습니다. 종종 phpmyadmin을 사용하여 아이디어를 얻습니다. http://blog.mysqltuner.com/ 는 편리한 리소스이자 유틸리티입니다.

쿼리 캐시가 켜져 있는지, 메모리 부족이 적은지 확인하십시오. 키 읽기의 수가 너무 높지 않은지 (이것이 상대 값 임) 확인하십시오. key_buffer_size를 늘리면 도움이됩니다. 생성되는 임시 테이블의 수가 적어야하며, tmp_table_size를 늘려서 그 수를 줄이십시오.

느린 쿼리 로그를 켜고 느린 쿼리를 기록한 다음 Explain 문을 사용하여 해당 쿼리를 수동으로 다시 실행하고 필요한 경우 인덱스 변경 열 유형 등을 추가합니다. 하나의 질의에 대해 우리는 미친 설명문을 얻고있었습니다. (많은 수의 행을 비교할 때와 마찬가지로) 새로운 버전의 MySQL로 업그레이드하면 같은 쿼리가 MySQL에 의해 훨씬 더 최적화되고 (훨씬 빨라졌습니다) 그 자체.

전체 텍스트 인덱싱을 사용하는 경우 InnoDB 테이블이 옵션이라고 생각하지 않습니다. 바쁜 시간에 제품을 업데이트하지 마십시오. 전자 상거래 패키지가 지원하는 경우 준비 서버를 변경 한 다음 스테이지에서 덤프하고 생산에로드하는 제품 테이블 만 이동하여 고객의 업무 중단 (성능 또는 기타)을 최소화 할 수 있습니다.이 그러나 나머지 Wordpress 설치에는 약간의 추가 작업 없이는 작동하지 않습니다.

사이트 디자인과 UX가 사용자를 "탐색"모드 대 "검색"모드 (예 : 사이트를 클릭하면 검색 상자에 검색을 입력하는 것)로 안내하는 기능을 지원할 수 있다면 매우 쉬운 데이터베이스를 이용할 수 있습니다 수준 및 Wordpress 수준 캐싱.

캐쉬를 미리로드하십시오 - 쿼리 캐쉬 및 Wordpress 레벨 캐싱과 같은 쉬운 캐싱은 wget으로 사이트를 스파이더 링하여 미리로드 할 수 있습니다. 로그를 통해 사용자 검색 동작을 사용하고 캐시를 채워야 할 때 해당 요청을 다시 가져 와서 검색을 위해 캐시를 미리로드 할 수도 있습니다.

11
bsr

나는 내 자신의 의견에 대해 궁금해서 독서를하고있다. 내가 여기있는 곳이다.

먼저, W3 Total Cache 를 시도해 보겠습니다. 또한 APC PHP extension을 서버에 설치하고 W3 Total Cache를 사용하도록 설정하십시오. APC를 사용하여 데이터베이스 객체, PHP를 캐시하고 CSS 및 JS를 축소하는 데 도움이됩니다. 충분할 수도 있습니다. 특히 이미 일부 캐시를 통합하는 경우. 또한 W3 Total Cache는 Memcache를 캐싱 백엔드로 사용할 수 있습니다.

데이터베이스의 경우 캐시가 매우 유용합니다. 나는 이 링크 를 발견했고 그는 그가 그의 MU 블로그에 대해 어떻게했는지 설명했다. 인용하기 :

질의 캐시는 MySQL에서 아주 멋진 기능으로, 주 메모리 내에 전용 저장소에 최근에 변경되지 않은 테이블에 대한 쿼리 결과가 저장됩니다.

즉, 테이블의 특정 행을 검색하기 위해 요청이 들어 왔고 그 테이블이 최근에 수정되지 않았고 캐시가 채워지지 않아서 제거/정리가 필요 없다고 가정 할 때 쿼리/데이터가이를 만족할 수 있습니다 은닉처. 여기서 가장 큰 이점은 요청을 만족시키는 것입니다. 데이터베이스는 디스크 (일반적으로 시스템에서 가장 느린 부분)에 갈 필요가 없으며 즉시 만족 될 수 있습니다.

제품 자체가 많이 변하지 않기 때문에 이것은 매우 시원하고 도움이 될 것입니다. 기사에서 언급하는 또 다른 사항은 램에 데이터베이스를 보유 할 수있는 메모리가 많이 있는지 확인하는 것입니다. 이렇게하면 쿼리 속도가 크게 향상됩니다.

그는 또한 테이블 유형에 대해 이야기하고 InnoDB를 통해 대부분 읽기 전용 테이블을 사용하는 MyISAM을 사용합니다. 반면에 그는 추론은 약간의 MU 지향적이지만 유용 할 수 있습니다.

인덱스 설정에 관해서. 많은 파일이있는 경우 삽입 속도를 늦추고 더 많은 디스크 공간을 차지할 수 있습니다. 그러나 많은 양의 제품이 정기적으로 추가되는 것을 상상하지 못하기 때문에 이것이 받아 들일 수 있습니다. 그리고 싼 디스크 공간으로 ...

1
Ryan Gibbons