High CPU usage
MrYawe opened this issue · 2 comments
First, thanks for all the amazing work on Bandit :)
In our production we had CPU load increase over time and we fixed it the 22/04 by switching back to Cowboy.
We were using bandit 1.4.2 and thousand_island 1.3.5.
![image](https://private-user-images.githubusercontent.com/8686039/325216535-92e31546-6f48-4128-96d3-7e220a73e578.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwOTU5OTIsIm5iZiI6MTcxODA5NTY5MiwicGF0aCI6Ii84Njg2MDM5LzMyNTIxNjUzNS05MmUzMTU0Ni02ZjQ4LTQxMjgtOTZkMy03ZTIyMGE3M2U1NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTFUMDg0ODEyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzFiMjA0OTA2YTAyZDY5MjY0NjAxZTFkN2FiYTNkYjA5YzM2OWM5MWU4M2NmYzcxNzgwYjQ3YzcwOWU5YmUxYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.tmgaxKZBb3uKPHu2LAfHU7lMnBjVZbb2c_MHZkSRwj8)
![image](https://private-user-images.githubusercontent.com/8686039/325216910-afe7be1e-4f0e-4167-825d-dad227b5976c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwOTU5OTIsIm5iZiI6MTcxODA5NTY5MiwicGF0aCI6Ii84Njg2MDM5LzMyNTIxNjkxMC1hZmU3YmUxZS00ZjBlLTQxNjctODI1ZC1kYWQyMjdiNTk3NmMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTFUMDg0ODEyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTFlMjZmNWJmMmRlNzA5MDQ5NjVmMmEyNmVhMzYxODcwNGI4ZTJlM2I2ZmJjYmRkZGI1ZDg1ZTYzMDYyNmFiZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.ytvi2Gwv_qyNQ_C3hLIdhPjHBqS675ljGhDnYLxzAG0)
Last weekend (20/04-21/04), I took some screenshots about our live running processes.
We can see that processes with highest reductions count (CPU usage) are all LiveView processes:
Bandit.DelegatingHandler.init/1
was often in the top most memory-hungry processes. Maybe there is a link with #339:
![image](https://private-user-images.githubusercontent.com/8686039/325220266-b21db168-98f3-4635-9852-c0b593912aeb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwOTU5OTIsIm5iZiI6MTcxODA5NTY5MiwicGF0aCI6Ii84Njg2MDM5LzMyNTIyMDI2Ni1iMjFkYjE2OC05OGYzLTQ2MzUtOTg1Mi1jMGI1OTM5MTJhZWIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTFUMDg0ODEyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzQxZDZjZGYwODU1M2VlYzE5ZGM4MjFjYzFhZjQ0MzA4YWMwNjNmY2M5MTcxMTRmNWUxYjBjMjU1NTM2OWQ0YSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.5BdQNnlYxXDk0rZ5LsNGFNNF_s-NR7exlOfuVUeSWqM)
PS: these two LiveDashboard screenshots were not taken at the same time
I have a hunch that this may be due to older connections not shutting down when the client disconnects (which traces back to the same issues as #344). It's actually next up on my list of things to look at!
Update: It's not the same issue as #344, but I've got a repro case for this locally (it looks like it may be related to what's left of #339). Not entirely sure what's causing it yet, but I can reproduce a significant reduction / memory difference between Cowboy and Bandit on the exact same workload, so it's just a matter of digging until I can explain / mitigate it.