ebidel/try-puppeteer

/dev/shm size

Closed this issue · 2 comments

The default 64M dev/shm size is too small for full page shots of large pages - Wa Post, CNN for example.

I'm aware of the following options at the moment but nothing seems turnkey yet:

  1. There's talk on chromium channels to potentially take a tmp dir as a cli parameter.
  2. GCP could enable increasing the size of dev/shm on docker run. I am assuming they use default size to keep things simple, but IMO it's going to cause an unnecessary and premature exodus of users from app engine onto compute engine.
  3. Could modify puppeteer to handle streaming differently.
  4. Migrate off app engine custom/docker entirely and onto container engine proper.

Seems like this project could merge with browserless? Browserless is "run anywhere" so could offer a plugin interface to that layer, and "Google App Engine" could be the first implementation of an adapter.

As of puppeteer 1.0, there's a flag in Chrome 65 to control /dev/shm:
https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#tips
https://cs.chromium.org/chromium/src/base/base_switches.cc?l=115-121

Browserless and this project have different goals. It's is a paid-for service that used some of the work here to get started. I've put this up to help Docker users get started and to have a playground for people to try puppeteer.

Thanks @ebidel, very helpful.