Reduce CloudSQL instance hours (wordpress)

I have a wordpress installation on GAE. It is a website that will be very sparsely updated, and will have few visitors each day (100 ish max). I would like to cache this website to minimize cloudSQL costs.

What Steps should I take to minimize the starting of my CloudSQL instances?

Read More

I have installed the MEMCACHED plugin and my BATCACHED Plugin.

my wp-config has the following:

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

My 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

I would like to know all the ways to reduce wordpress starting my CloudSQL instance. Also, I would like to know how to check if caching is correctly working or not.

currently, even when I visit a page without logging into wordpress, it shows a CloudSQL instance started(one active connection), which I believe should not be the case if caching is working properly

Related posts

Leave a Reply

2 comments

  1. I am fairly certain that even when using batcache, WordPress core will still attempt to connect to the SQL database to ensure the connection is valid.

    You need to investigate one of the static full page caching plugins to try and achieve what you’re after – they seem to have options that will return pages without loading up WordPress core.