Hi folks. I am new here...
Thanks for the quick merging of my AWS fix (PR #6707) :-)
Question: I am running an instance of oevent-server on Heroku (currently forked at v1.10.0), and constantly getting memory errors in the log (
heroku[web.1]: Error R14 (Memory quota exceeded)).
The process seems to take up ~900M, which is too high for the 500M limit of Heroku's free dynos.
Since it seems that the project is running its own demo server on Heroku, I was wondering if this issue is known and is there a known solution. Otherwise, what is the recommended / most tested setup? What do people use for their "production" setup?
As mentioned above, we are running production eventyay.com on just a 2GB RAM server, so it is scalable to very low requirements. We are running a dev version on just free version of heroku with 512 MB RAM, so it is certainly possible, but as you can guess, you'll get really poor performance and be pushing the boundary of memory. Unless extremely simple, you can't expect an interpreted language's application to run in under 512 MB RAM and give production performance, that can't happen unless you write a native service or in a compiled language like go. And anyway, even if the server took just 10 MB of RAM, the performance on heroku would be extremely bad, not at all recommended for production, they throttle the CPU cycles of even the 1 CPU core they provide in free instance. So, no parallelization and even worse performance. All requests will block until the currently running request is completed, unless you run gunicorn with async worker like eventlet, which has introduced some problems with our payments integrations in past.
In production, web process takes 400-450 MB RAM, you can reduce it by reducing the amount of gunicorn workers from 4 to lower. This will again trade off performance for memory. celery takes 300 MB. And you should know that Python garbage collection is far from state of art so it accumulates memory over time. On a fresh start, clery takes 150 MB RAM and web takes 200 MB for 1 instance (which is what runs on our dev instance). So, you can get away with it on 500 MB plan if you run 1 instance of web and celery and regularly restart instances like heroku does after some time. But, you'll get horrible performance. At least 1 GB RAM is required to even run default production config as it takes about 500-600 MB RAM after some time.
Dear @/all we will have an OpenTechSummit Day in Delhi this upcoming Sunday January 12 at DTU (Delhi Technological University). Please join us. The entrance to the event is free of charge.
OpenTechSummit Day India 12 January 2020, Delhi Technological University. Please join us! Speakers are Open Hardware legend Mitch Altman, Mario Behling + developers of Susiai PSlabio Eventyay. https://delhiday.opentechsummit.in
Just a heads up. Now tickets are on sale for FOSSAsia Summit, I had someone confused that https://summit.fossasia.org/event/tracks.html has the wrong dates. I explained that the dates are wrong because it's showing last year's event! https://2019.fossasia.org/event/tracks.html
It would be great if someone could put "Coming soon..." on the summit event pages, or "FOSSAsia 2019" to avoid confusion, until we can show the real 2020 tracks list.