У меня есть установка WordPress на GAE. Это веб-сайт, который будет очень редко обновляться, и будет иметь мало посетителей каждый день (максимум 100 иш). Я хотел бы кэшировать этот сайт, чтобы минимизировать затраты на CloudSQL.
Какие шаги я должен предпринять, чтобы минимизировать запуск моих экземпляров CloudSQL?
Я установил плагин MEMCACHED и мой плагин BATCACHED.
мой wp-config имеет следующее:
$batcache = [
'seconds'=>0,
'max_age'=>300*60, // 300 minutes
'debug'=>false
];
Мой app.yaml:
application: MY ID
version: 104
runtime: php
api_version: 1
default_expiration: "1d"
handlers:
- url: /(.*\.(htm$|html$|css$|js$))
static_files: wordpress/\1
upload: wordpress/.*\.(htm$|html$|css$|js$)
application_readable: true- url: /wp-content/(.*\.(ico$|jpg$|png$|gif$))
static_files: wordpress/wp-content/\1
upload: wordpress/wp-content/.*\.(ico$|jpg$|png$|gif$)
application_readable: true- url: /(.*\.(ico$|jpg$|png$|gif$))
static_files: wordpress/\1
upload: wordpress/.*\.(ico$|jpg$|png$|gif$)
application_readable: true- url: /wp-admin/(.+)
script: wordpress/wp-admin/\1
secure: always
- url: /wp-admin/
script: wordpress/wp-admin/index.php
secure: always
- url: /wp-login.php
script: wordpress/wp-login.php
secure: always
- url: /wp-cron.php
script: wordpress/wp-cron.php
login: admin
- url: /xmlrpc.php
script: wordpress/xmlrpc.php- url: /(.*\.(appcache|manifest))
mime_type: text/cache-manifest
static_files: wordpress/\1
upload: wordpress/(.*\.(appcache|manifest))
expiration: "0m"application_readable: true- url: /(.*\.atom)
mime_type: application/atom+xml
static_files: wordpress/\1
upload: wordpress/(.*\.atom)
expiration: "1h"application_readable: true- url: /(.*\.crx)
mime_type: application/x-chrome-extension
static_files: wordpress/\1
upload: wordpress/(.*\.crx)
application_readable: true- url: /(.*\.css)
mime_type: text/css
static_files: wordpress/\1
upload: wordpress/(.*\.css)
application_readable: true- url: /(.*\.eot)
mime_type: application/vnd.ms-fontobject
static_files: wordpress/\1
upload: wordpress/(.*\.eot)
application_readable: true- url: /(.*\.htc)
mime_type: text/x-component
static_files: wordpress/\1
upload: wordpress/(.*\.htc)
application_readable: true- url: /(.*\.html)
mime_type: text/html
static_files: wordpress/\1
upload: wordpress/(.*\.html)
expiration: "1h"application_readable: true- url: /(.*\.ico)
mime_type: image/x-icon
static_files: wordpress/\1
upload: wordpress/(.*\.ico)
expiration: "7d"application_readable: true- url: /(.*\.js)
mime_type: text/javascript
static_files: wordpress/\1
upload: wordpress/(.*\.js)
application_readable: true- url: /(.*\.json)
mime_type: application/json
static_files: wordpress/\1
upload: wordpress/(.*\.json)
expiration: "1h"application_readable: true- url: /(.*\.m4v)
mime_type: video/m4v
static_files: wordpress/\1
upload: wordpress/(.*\.m4v)
application_readable: true- url: /(.*\.mp4)
mime_type: video/mp4
static_files: wordpress/\1
upload: wordpress/(.*\.mp4)
application_readable: true- url: /(.*\.(ogg|oga))
mime_type: audio/ogg
static_files: wordpress/\1
upload: wordpress/(.*\.(ogg|oga))
application_readable: true- url: /(.*\.ogv)
mime_type: video/ogg
static_files: wordpress/\1
upload: wordpress/(.*\.ogv)
application_readable: true- url: /(.*\.otf)
mime_type: font/opentype
static_files: wordpress/\1
upload: wordpress/(.*\.otf)
application_readable: true- url: /(.*\.rss)
mime_type: application/rss+xml
static_files: wordpress/\1
upload: wordpress/(.*\.rss)
expiration: "1h"application_readable: true- url: /(.*\.safariextz)
mime_type: application/octet-stream
static_files: wordpress/\1
upload: wordpress/(.*\.safariextz)
application_readable: true- url: /(.*\.(svg|svgz))
mime_type: images/svg+xml
static_files: wordpress/\1
upload: wordpress/(.*\.(svg|svgz))
application_readable: true- url: /(.*\.swf)
mime_type: application/x-shockwave-flash
static_files: wordpress/\1
upload: wordpress/(.*\.swf)
application_readable: true- url: /(.*\.ttf)
mime_type: font/truetype
static_files: wordpress/\1
upload: wordpress/(.*\.ttf)
application_readable: true- url: /(.*\.txt)
mime_type: text/plain
static_files: wordpress/\1
upload: wordpress/(.*\.txt)
application_readable: true- url: /(.*\.unity3d)
mime_type: application/vnd.unity
static_files: wordpress/\1
upload: wordpress/(.*\.unity3d)
application_readable: true- url: /(.*\.webm)
mime_type: video/webm
static_files: wordpress/\1
upload: wordpress/(.*\.webm)
application_readable: true- url: /(.*\.webp)
mime_type: image/webp
static_files: wordpress/\1
upload: wordpress/(.*\.webp)
application_readable: true- url: /(.*\.woff)
mime_type: application/x-font-woff
static_files: wordpress/\1
upload: wordpress/(.*\.woff)
application_readable: true- url: /(.*\.xml)
mime_type: application/xml
static_files: wordpress/\1
upload: wordpress/(.*\.xml)
expiration: "1h"application_readable: true- url: /(.*\.xpi)
mime_type: application/x-xpinstall
static_files: wordpress/\1
upload: wordpress/(.*\.xpi)
application_readable: true# audio files
- url: /(.*\.(mid|midi|mp3|wav))
static_files: wordpress/\1
upload: wordpress/(.*\.(mid|midi|mp3|wav))
application_readable: true# windows files
- url: /(.*\.(doc|exe|ppt|rtf|xls))
static_files: wordpress/\1
upload: wordpress/(.*\.(doc|exe|ppt|rtf|xls))
application_readable: true# compressed files
- url: /(.*\.(bz2|gz|rar|tar|tgz|zip))
static_files: wordpress/\1
upload: wordpress/(.*\.(bz2|gz|rar|tar|tgz|zip))
application_readable: true- url: /wp-(.+).php
script: wordpress/wp-\1.php
- url: /(.+)?/?
script: wordpress/index.php
Я хотел бы знать все способы уменьшить WordPress, начиная мой экземпляр CloudSQL. Кроме того, я хотел бы знать, как проверить, работает ли кэширование правильно или нет.
в настоящее время, даже когда я захожу на страницу без входа в WordPress, он показывает, что экземпляр CloudSQL запущен (одно активное соединение), что, на мой взгляд, не должно иметь место, если кэширование работает должным образом
Я совершенно уверен, что даже при использовании batcache ядро WordPress все равно будет пытаться подключиться к базе данных SQL, чтобы убедиться, что соединение допустимо.
Вам нужно исследовать один из статических плагинов кеширования полной страницы, чтобы попытаться достичь того, чего вы хотите — у них, кажется, есть опции, которые будут возвращать страницы без загрузки ядра WordPress.
Если вы настроили Запланированные задачи чтобы часто заходить в wp-cron.php, вы можете подумать о том, чтобы уменьшить частоту его запуска.