memcache를 사용하여 wordpress 최적화, 속도 향상

9102 단어
환경:
로컬 개발 환경
가상 머신에 배치된 (가상 머신에memcache 캐시를 설치한) 이 최적화된 버전으로 로컬 개발 환경과 비교합니다.
wordpress 버전 4.9.5
php:5.6 버전
1, 먼저 주제의functions.php 파일에 다음과 같은 모니터링 통계 코드를 추가합니다
function performance( $visible = true ) {
    $stat = sprintf(  '%d queries in %.3f seconds, using %.2fMB memory',
        get_num_queries(),
        timer_stop( 0, 3 ),
        memory_get_peak_usage() / 1024 / 1024
    );
    // echo $visible ? $stat : "" ;
    echo "
"; } add_action( 'wp_footer', 'performance', 20 );

양식은 자신의 주제에 따라 맞춤형으로 만들 수 있으며 이 코드는 페이지에 몇 번의 데이터베이스 조회가 있는지 통계할 수 있다.총 몇 초, 메모리를 얼마나 소모했는지 다음과 같은 스타일입니다.
16 queries in 1.306 seconds, using 12.98MB memory

2, memcached 서버 설치
[root@bogon wp-content]# ps -ef | grep memcached
root      5050  3466  0 14:44 pts/1    00:00:00 grep memcached
root     29269     1  0 13:57 ?        00:00:02 /usr/local/memcached/bin/memcached -d -l 127.0.0.1 -p 11211 -u root -m 64 -c 1024 -P /var/run/memcached.pid

3, php memcache 확장 설치
wget http://pecl.php.net/get/memcache-3.0.8.tgz, phpize 외장 방식으로 설치, 설치 완료 후 php.ini에서 사용하고 php를 다시 시작하면memcache가 불러왔는지 확인하십시오
memcache
memcache support    enabled
Version    3.0.8
Revision    $Revision: 329835 $
Directive    Local Value    Master Value
memcache.allow_failover    1    1
memcache.chunk_size    32768    32768
memcache.compress_threshold    20000    20000
memcache.default_port    11211    11211
memcache.hash_function    crc32    crc32
memcache.hash_strategy    consistent    consistent
memcache.lock_timeout    15    15
memcache.max_failover_attempts    20    20
memcache.protocol    ascii    ascii
memcache.redundancy    1    1

4, wordpress memcache 플러그인 다운로드
wget https://downloads.wordpress.org/plugin/memcached.3.0.1.zip
Object-cache.phpwp-content 디렉터리에 압축 풀기
[root@bogon wp-content]# ls
index.php  languages  object-cache.php  package.xml  plugins  themes  upgrade  uploads
[root@bogon wp-content]# 

마지막으로 서버 비교
memcache 캐시가 설치된 버전, 첫 페이지 성능:
3 queries in 0.451 seconds, using 13.56MB memory

캐시가 설정된 시스템 없음, 첫 페이지 성능:
16 queries in 1.336 seconds, using 12.98MB memory

다른 페이지가 최적화되고 캐시가
opcache를 활성화하고 다시 속도를 높이려면:
3 queries in 0.129 seconds, using 3.48MB memory

php.ini에서 opcache는 다음과 같이 로드해야 합니다.
zend_extension=opcache.so

opcache 관련 구성:
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=1

; The OPcache shared memory storage size.
opcache.memory_consumption=528

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=10000

; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5
"php.ini" 2051L, 74201C written                                                                                      

  
[ldap]
; Sets the maximum number of open links or -1 for unlimited.
ldap.max_links = -1

[mcrypt]
; For more information about mcrypt settings see http://php.net/mcrypt-module-open

; Directory where to load mcrypt algorithms
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.algorithms_dir=

; Directory where to load mcrypt modes
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.modes_dir=

[dba]
;dba.default_handler=

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=1

; The OPcache shared memory storage size.
opcache.memory_consumption=528

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=10000

좋은 웹페이지 즐겨찾기