Find Jobs
Hire Freelancers

Optimize flask/waitress Python app to avoid memory-related crash

$10-30 USD

Closed
Posted about 2 years ago

$10-30 USD

Paid on delivery
We need help from an expert in optimizing our Python based flask/waitress app for stability. App: [login to view URL] Context: The app is deployed on e.g. a PC or AWS EC2 instance. It exposes an endpoint that can be connected to via Grafana dashboards. When a user makes a change in the dashboard, it sends a query to the backend, which fetches meta info and data from disk/S3, processes the data and sends it to Grafana for visualization. The problem: Currently, the app is stable if users perform "1 update at a time" in Grafana. But if a user sends many requests (e.g. by 'spamming' changes to time periods in Grafana), it will trigger a queue of requests to the backend. In some cases, this results in the app getting killed - in particular when deployed on EC2 with 2 GB RAM. The problem seems to be that too many requests are processed in parallel, causing a memory issue. Task: We want to retain the same loading speed performance as currently - but ensure that the backend app cannot crash due to 'session request spam'. To solve this, we believe the flask/waitress settings should be modified. A simplistic method would be to limit the #sessions sent to the backend to 1 - this way out-of-memory crashes should not be possible. However, some of the requests sent to the backend are light-weight "meta info" requests, which should ideally be processed in parallel to ensure speed. Therefore, we assume a better solution would be to somehow restrict the parallel processing based on available memory. The task is to create a fork of the project, deploy it on AWS EC2 [login to view URL] as per our guide (and link it to Grafana cloud). As step 1, you should verify that you can produce a crash with the current code by spamming the #sessions (a screenshot of this should be sent to us). Next, you should modify the forked code to configure flask/waitress so that a crash cannot happen, but while retaining the same performance as before. Following this, you should validate that the crash is no longer possible. Once we have verified this on our side, the project is complete We are looking for an expert in flask/waitress and we may have several more projects in this area.
Project ID: 33183178

About the project

4 proposals
Remote project
Active 2 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
4 freelancers are bidding on average $63 USD for this job
User Avatar
Hi, It is easy, I can do on time. I work online, where you can track progress of your project. I have 6 years of experience in development(websites, web applications, mobile apps, desktop applications, I/UX), using PHP, WordPress, Java, Python, JavaScript, ReactJs, Bootstrap, I can start now, please come to chat, to discuss more.
$10 USD in 2 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of DENMARK
Maarslet, Denmark
5.0
31
Payment method verified
Member since Apr 14, 2017

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.