모듈 비활성화-성능 향상?


27

이 질문에는 두 부분이 있습니다.

  1. 코어 모듈을 비활성화하면 저장소의 전체 성능이 향상되며, 그렇다면 성능 향상을 위해 관리자에서 비활성화 (즉, 프론트 엔드 출력 비활성화)하거나 config.xml을 통해 비활성화해야합니다.

  2. 성능이 향상 될 경우 (재고에있는 모듈) CE 1.7.0.2 빌드는 1 부에서 설명한 방법을 통해 안전하게 비활성화 할 수 있습니다.

답변:


27
  1. 그렇습니다. 우선, 모듈이 적다는 것은 (잠재적으로)로드 및 처리 할 코드가 적다는 것을 의미합니다. 그 다음으로 Mage_Rss 모듈과 같은 많은 모듈은 특정 이벤트에서 다시 색인을 생성하는 것과 같이 백그라운드에서 많은 코드를 실행합니다.

    사용하는 가장 좋은 방법 : 모듈을 사용하지 않도록 설정 System > Configuration > Advanced하면 상점의 해당 모듈 코드를 계속 포함하면서 모듈의 출력을 억제합니다. 이것은 모듈 기능을 원하지 않지만 다른 (타사) 확장이 의존하기 때문에 예를 들어 모델 또는 블록이 필요할 때 편리합니다. 사용하지 app/etc/modules/*.xml않으면 설치에서 완전히 제거되므로 성능면에서 이것이 최선의 선택입니다.

  2. 나는 일반적으로 XMl을 통해 다음 확장을 비활성화합니다

    • 마법사 _Rss
    • Mage_PayPalUk
    • Mage_Tag (프로젝트에서 사용되지 않을 때)
    • Mage_Poll (어쨌든 설문 조사를 사용하는 원인)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (프로젝트에서 사용되지 않을 때)
    • Mage_Bundle (다시 클라이언트에 필요하지 않은 경우)
    • Mage_Downloadable (위 참조)

    과를 통해 하는 백엔드에서 그 성가신 팝업을 억제한다.System > Congiguration > AdvancedMage_Adminnotification

    사용 중인지 여부에 따라 몇 가지 핵심 확장을 비활성화 할 수 있습니다. 마젠 토의 안정성을 손상시키지 않도록하십시오. 나는 약간의 시행 착오가 필요하다고 생각합니다.


1
핵심 xml 파일을 변경하지 않고 비활성화하는 방법이 있습니까?
마티 월리스

1
아직 고유 한 XML 파일이없는 경우 계속 만들어서 생성 할 수 있습니다. app/etc/module/Mage_Rss.xml예를 들어 codePool (코어) 및 활성 (거짓) 태그 를 추가하십시오.
Sander Mangel

아마 그때 혼란 스러울 수도 있습니다 :). 예를 들어 Mage_Centinel.xml을 수정하지 않고 Mage_Centinel을 비활성화 할 수 있습니다. 즉, 자체 XML 파일을 사용하여 비활성화하십시오. 나는 핵심 코드를 변경되지 않을 것이다 그런 식으로
마티 월러스

아, 알았어요 모든 XML 파일이 하나로 병합되기 때문에 아마도 비활성화 할 수 있습니다. 확장자 config.xml 태그에 추가하면 픽업해야하지만 제 생각에는 app/etc/modules디렉토리 에서 처리하는 것이 더 깨끗합니다 . 하지만 그게 전부 날 :)
샌더 사료 사탕

2
설문 조사를 비활성화하기 전에 샘플 설문 조사 "색상 선택"을 삭제해야합니다. 모듈이 비활성화되어 있어도 설문 내용을 표시 할 수있는 타사 모듈을 찾았습니다.
lrkwz

14

답변이 늦었지만 질문에 답변하고 싶습니다.

  1. 파일을 물리적으로 제거하면 성능이 훨씬 향상됩니다.
  2. Mage_Core;-)를 제외하고 모두 간단하게

그러나 타이트 커플 모듈을 비활성화하려면 다른 모듈을 설치해야합니다. 따라서 나는 다음을 개발했다 : https://github.com/Zookal/magento-mock

Zookal Mock : 비활성화 된 핵심 모듈 및 확장의 투명한 자동 감지 및 Magento를 손상시키지 않는 모의 객체를 제공합니다. 구성 할 것이 없습니다. 클래스를 다시 쓰지 않습니다. 단 하나의 관찰자. 기본적으로 작동합니다. 파일을 물리적으로 제거 할 수도 있습니다!

예 때 비활성화 Mage_Wishlist또는 Mage_Newsletter귀하의 백엔드 -> 고객 -> 고객 편집 이상한 오류가 발생합니다. 따라서 Mock 확장을 사용하십시오!

sales_flat_order_payment테이블에 항목이 있고 일반적으로 백엔드-> 판매-> 주문보기를 손상 시키는 기존 지불 모듈을 설치 제거 할 수도 있지만 Mock 확장 프로그램은 투명한 해결책입니다.

고려해야 할 사항 : 명령 행에서는 작동하지 않습니다.


10

간단하고 빠른 XML 비활성화 모듈 방법에 관한 Marius의 답변을 참조하십시오 . zzz_Disabled_Modules.xml내용 으로 단일 파일 만들기

<?xml version="1.0"?> 
<config>
    <modules>
        <Mage_Rss>
            <active>false</active>
        </Mage_Rss>
        <Mage_PaypalUk>
           <active>false</active>
        </Mage_PaypalUk>
        <Phoenix_Moneybookers>
            <active>false</active>
        </Phoenix_Moneybookers>
        <!-- all other modules here -->
    </modules>
</config>

상상 해봐! 마 젠토 모듈을위한 .gitignore!

이를 통해 한 번에 활성화 / 비활성화 한 모듈을 쉽게 확인할 수 있습니다.


2

@Sander Mangel이 말했듯이 모듈을 비활성화하면 성능을 크게 향상시킬 수 있지만 실제로 비활성화하는 것은 매장마다 다릅니다. 일반적으로 필요하지 않은 것이 많이 있습니다. Whishlist 비활성화를 사용하지 않는 경우Mage_Wishlist 하면 상당한 차이가 있습니다.

또 다른 이득은 불가능하다 Mage_Log. 그러나 local.xml을 통해 더 잘 수행 할 수 있습니다.

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