DockStation / dockstation

DockStation is developer-centric application to managing projects based on Docker. Instead of lots of CLI commands you can monitor, configure, and manage services and containers using just a GUI.
https://dockstation.io/
2.14k stars 106 forks source link

Constant HDD churning while DS is running #190

Open STaRDoGG opened 5 years ago

STaRDoGG commented 5 years ago

So I've noticed that while dockstation is running I can hear my hard drive grinding away, the entire time it's open. As soon as I exit DS, the churning stops. It's annoying enough hearing the churning 100% of the time that I end up having to exit it while I'm not at the computer but in the same room so as not to keep having to hear it. It sounds like it's doing non-stop disk I/O; reading/writing.

What's the source of the I/O? Is it something vital to it's usage?

igor-lemon commented 5 years ago

Hi @STaRDoGG Huh, it's interesting. The app doesn't write anything on disk. I think the reason is container stats monitoring. For check this 1) Close the app 2) Run docker stats command.

STaRDoGG commented 5 years ago

Hi

At first I thought you might be right, since it seems the churning does seems to increase slightly with each GUI refresh when looking at the stats, but after closing DS and running docker stats, I don't hear the churning anymore, even as I watch the stats refresh. :/

STaRDoGG commented 5 years ago

I just ran Windows Performance Analyzer on the machine while DS was running, for about 8 minutes, and DS is definitely doing some writing. Here's a screenshot; the scrollbar to the right shows how much I/O activity there was, and when I scroll it, it all looks about the same as what is shown in the screenshot.

image

STaRDoGG commented 5 years ago

I just ran ProcMon and here's an example of what's happening:

image

Hesre' a full capture for ya if it would help. Link

igor-lemon commented 5 years ago

Thank you. Yep, this information helped us. This is stats collecting. We collect this to the local storage and Electron (Chromium) seems like write this data to disk. So I think we can add a switch button for enabling/disabling stats collecting.

STaRDoGG commented 5 years ago

That'd be great. Just curious, what stats are collected?

Also, while you're adding buttons ;) any chance you could add one to clear the log screen when viewing a container's logs? Bonus if you also add a setting to automatically clear a container's logs when it's starting up. This way it would auto-clear the log window on container restarts, which would help a lot when initially setting up a container and trouble shooting (by making sure not to confuse old logs with new logs).

STaRDoGG commented 5 years ago

Nevermind, I see what you mean by stats collecting. Maybe there's some way to still keep historical stats data w/out entirely turning it off. Maybe just write it less often to disk or something, I dunno.

igor-lemon commented 5 years ago

System stats of containers. I/O, Network, CPU, RAM. image

Yep, we can. Better create a new issue because I can forget about it. :)

igor-lemon commented 5 years ago

We don't control the frequency of writing data to disk.

STaRDoGG commented 5 years ago

What I mean by writing to disk less often is, (I don't have access to the source code, so this is just speculation) it seems like it's writing to the database after every refresh of the stats; maybe save that data to memory instead of writing it to the db immediately, and then after x amount of time, write it all to the db at once. For instance, save about 5 or 10 minutes of stats to memory, then dump it all to the db, clear that mem, and repeat.

Just a quick idea off the top of my head. =)

igor-lemon commented 5 years ago

We have some ideas to do it better. Ok, when we will have some result I'll notify you.