googlearchive / appengine-php-wordpress-starter-project

Starter project for running WordPress on Google Cloud Platform
366 stars 226 forks source link

GAE can't support more then a handful of plugins #53

Open cdenterprises opened 9 years ago

cdenterprises commented 9 years ago

Trying to move over are large WordPress website that uses about 25 plugins. It's a Buddypress based social website. When sending the static files over to GAE you receive this notice: Max number of files and blobs is 10000

According to GAE: https://cloud.google.com/appengine/docs/quotas?hl=en Deployments An application is limited to 10,000 uploaded files per version. Each file is limited to a maximum size of 32 megabytes. Additionally, if the total size of all files for all versions exceeds the initial free 1 gigabyte, then there will be a $ 0.026 per GB per month charge.

GAE will work for small WordPress website but WordPress websites that use more then handful of advance plugins reach that quota quite quickly. I've reached out to Google Billing and they are working on it but it's been weeks now and no word.

maeyan-zero commented 9 years ago

10,000 files is the inherit deploy limitation of the AppEngine sandbox, I'm afraid you will find no resolve here. By the way, it is unlikely this limit will be lifted anytime soon if ever.

Most devs run into this problem because non-production code is being deployed with the rest of the application. This starter project is not configured to skip these. Below is the skip_files section of my app.yaml configurations that includes excludes for.git, node_modules and bower_components - those being the main offenders. Use it as a starting point if you like; be sure to add any other rules specific to your project structure.

skip_files:
- ^(.*/)?\.zip$
- ^(.*/)?\.bat$
- ^(.*/)?\.sh$
- ^(.*/)?\.md$
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?tests$
- ^(.*/)?test$
- ^(.*/)grunt\.js
- ^(.*/)node_modules/(.*/)?
- ^(.*/)bower_components/(.*/)?
- ^scripts/(.*/)?
- ^test/(.*/)?
- ^README\..*
- \.gitignore
- ^\.git/.*
- \.*\.lint$
- ^fabfile\.py
- ^testrunner\.py

If you are certain that your application requires over 10,000 files in production, the only Google alternative is a container.