memcache를 사용하여 wordpress 최적화, 속도 향상
로컬 개발 환경
가상 머신에 배치된 (가상 머신에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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.