GoogleChromeLabs / pptraas.com

Puppeteer as a service
https://pptraas.com
Apache License 2.0
457 stars 78 forks source link

Launch new tab instead of launch new browser #34

Open vincent178 opened 6 years ago

vincent178 commented 6 years ago

Hi,

Thanks for the nice repo, it is very helpful. Just one issue:

app.all('*', async (request, response, next) => {
  response.locals.browser = await puppeteer.launch({
    dumpio: true,
    // headless: false,
    // executablePath: 'google-chrome',
    args: ['--no-sandbox', '--disable-setuid-sandbox'], // , '--disable-dev-shm-usage']
  });

  next(); // pass control on to routes.
});

This code shows that we create a new browser every time for a new request, this requires more memory and more load time than create a new tab for the same browser.

I wonder what's the thought behind this?

Thanks, Vincent

ebidel commented 6 years ago

Generally it keeps things more ephemeral starting a new instance. Others have found the same: https://docs.browserless.io/blog/2018/06/04/puppeteer-best-practices.html

Puppeteer just introduce browser contexts for cases like this. The feature basically open Chrome in incognito tab but you can use the same browser instance to span across multiple contexts, yet keep cookie stores and session data separate.

On Sun, Jun 10, 2018, 10:39 PM vincent178 notifications@github.com wrote:

Hi,

Thanks for the nice repo, it is very helpful. Just one issue:

app.all('*', async (request, response, next) => { response.locals.browser = await puppeteer.launch({ dumpio: true, // headless: false, // executablePath: 'google-chrome', args: ['--no-sandbox', '--disable-setuid-sandbox'], // , '--disable-dev-shm-usage'] });

next(); // pass control on to routes. });

This code shows that we create a new browser every time for a new request, this requires more memory and more load time than create a new tab for the same browser.

I wonder what's the thought behind this?

Thanks, Vincent

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GoogleChromeLabs/pptraas.com/issues/34, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOigCYmIVOXdG7rizaKSAZm3eJzZoPDks5t7gJ0gaJpZM4UiF5y .