2014-12-31 3 views
1

У меня есть установка wordpress на GAE. Это веб-сайт, который будет очень редко обновляться и будет иметь мало посетителей каждый день (100 иш макс). Я хотел бы кэшировать этот сайт, чтобы свести к минимуму расходы на облачные вычисления.Уменьшить время ожидания CloudSQL (wordpress)

Какие шаги следует предпринять, чтобы минимизировать запуск моих экземпляров CloudSQL?

Я установил плагин MEMCACHED и мой плагин BATCACHED.

мой сор-конфигурации имеет следующее:

$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 экземпляр запускается (одно активное соединение), который я считаю, не должно быть в случае, если кэширование работает должным образом

ответ

2

Я довольно уверен, что даже при использовании batcache ядро ​​WordPress все равно попытается подключиться к базе данных SQL, чтобы убедиться, что соединение действительно.

Вам нужно исследовать один из статических плагинов для полнотекстового кэширования, чтобы попытаться достичь того, что вам нужно - у них, похоже, есть опции, которые возвращают страницы без загрузки ядра WordPress.

+0

Как будут создаваться и обслуживаться эти статические страницы? Двигатель приложений не позволяет обрабатывать файлы. Есть ли такой плагин, который может работать? –

+0

Я бы начал с плагина, который работает с S3 как CDN и посмотрит, как далеко он идет. –

+0

@harvey_slash: Вы нашли решение, то есть плагин кеша, который работает? У меня такая же проблема, редко обновляется сайт batcached, который по-прежнему использует около ~ 30 дней в день SQL/месяц, что довольно плохо. – MH114

0

Если вы установили Scheduled Tasks, чтобы часто нажимать wp-cron.php, вы можете рассмотреть возможность уменьшения частоты этого запуска.