Сокращение часов работы экземпляра CloudSQL (wordpress)

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

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

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

мой wp-config имеет следующее:

$batcache = [
      'seconds'=>0,
      'max_age'=>300*60, // 300 minutes
      'debug'=>false
    ];

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


person harveyslash    schedule 31.12.2014    source источник


Ответы (2)


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

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

person Stuart Langley    schedule 01.01.2015
comment
Как будут создаваться и обслуживаться эти статические страницы? Механизм приложения не позволяет обрабатывать файлы. Есть ли такой плагин, который может работать? - person harveyslash; 02.01.2015
comment
Я бы начал с плагина, который работает с S3 в качестве CDN, и посмотрел бы, как далеко он зайдет. - person Stuart Langley; 02.01.2015
comment
@harvey_slash: Вы нашли решение, то есть работающий плагин для кеша? У меня та же проблема, редко обновляемый сайт с пакетным кэшированием, который по-прежнему использует около 30 дней SQL-часов в месяц, что довольно плохо. - person MH114; 01.04.2015

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

person David    schedule 02.01.2015