alcounit / selenosis

Scalable, stateless selenium hub for Kubernetes cluster
Apache License 2.0
81 stars 24 forks source link

Reusing sessions #46

Closed yuriipolishchuk closed 3 years ago

yuriipolishchuk commented 3 years ago

Hi @alcounit ! Thanks for a great work you've done!

I understand the motivation for the project, and know that there're memory leaks, etc... But on a huge scale spinning a pod per session becomes really expensive due to all the overhead under the hood (k8s machinery, container runtime, metrics, etc..). and overall the system becomes not really scalable: we're hitting limits of a control plane, 3rd parties like ECR, etc..

So I am wondering if it is possible to reuse existing chrome pods for multiple sessions, i.e. have something like session pools with some predefined limits for sessions to be re-used. This can decrease the overhead by order of magnitude.

What are your thoughts on that? What alternatives/workarounds can we try?

alcounit commented 3 years ago

Hi @yuriipolishchuk Yes, the project has memory leaks and I'm trying to deal with them. Regarding session reuse, I believe it can be done via test framework. The main idea is not to close the browser after test is finished.