Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keeping big database in memory by default significantly affects SSD life #1039

Open
Fixer-007 opened this issue Jan 29, 2018 · 5 comments
Open

Comments

@Fixer-007
Copy link

Fixer-007 commented Jan 29, 2018

I was doing some research on program writes across Windows and noticed that QuiteRSS with "keep db in memory" (it is on by default) writes ridiculous amount of data to disk in my case (46 feeds), I have 300mb database, so it writes 600mb for each maximize/hiding of Quiterss window to systray and probably each 30 minutes, if you are heavy QuiteRSS user on SSD, it will put really heavy burden on it.

Disabling "db in memory" stops this, resulting in very little writes to disk, but slower operation on classic HDD, but good enough on SSD.

Is there any mitigations for this?

  1. Stop dumping entire database each time you hide QuiteRss into systray
  2. Detect SSD and autodisable that "keep db in memory" since read/write speed is very good on SSD
  3. Disable "keep db in memory" by default for everyone
  4. Add a tooltip for this option saying "Disable if you have SSD"
  5. Add SSD discoverable mode button in menu that turns off "keep db in memory"
  6. If "keep db in memory" is enabled, increase default "db dump to disk" time from XX to 60 min (at least)
@Black3ird
Copy link

I can't agree with your negative suggestions for "keep db in memory" as it was supposed to help SSD live longer and if it's "not" doing this now, the "mechanism" should be fixed (db should always be in memory and dump at predefined long intervals OR only at program close), not the options you suggested. This eliminates your options "2 through 5" leaving only option 1 "Stop Dumping" as the most viable option.

Currently I have over 10,000 unread articles (for different purpose) and a feeds.db filesize around 50 Mb yet never noticed such and will keep an eye out for what you've experienced. Also what program you use to "watch" file activities can differ what you observe. As an example among others, the program https://www.nirsoft.net/utils/file_activity_watch.html reported me that whatever you chosen in options (even without opening/changing options), QuiteRss.ini file got deleted and rewritten "every minute" even if how small that file is and also causes constant wear on a SSD drive.

Until these kind of SSD considerations are fixed I can advise you to use a "RAMDisk" and redirect all such kind of problematic applications and file/folders to that RAMDisk, if possible dynamically so it won't eat your memory. I've been doing this for quite some time and especially with Browsers' Cache directories on RAMDisk which eased my SSD burden quite a lot.

TL;DR: I agree in the least that QuietRSS could handle file operations with SSD in mind since it's getting more and more common.

@Fixer-007
Copy link
Author

Fixer-007 commented Apr 22, 2018

Here is how I work arounded this problem for now:

  • unticked "store database in RAM", this is main fix, this way it does not write huge amount of data each time but only very small changes, this method is slow on 300mb databases (few seconds of delay)
  • cut down amount of channels
  • tweak how many news to keep and what to clean up
  • clean up database when UI starts lagging

I've reduced my db size from 300mb to 25mb and it works fine for now, Fix is still needed for this issue.

Also what program you use to "watch" file activities can differ what you observe.

Windows' Task Manager can do the task, in the option add "Bytes written" column, other tools I've used confirmed its accuracy more or less.

@mailinglists35
Copy link

hi,
can you add option to keep some feeds longer and some feeds less time in archive?
I have some feeds that I don't need more than 3 days back (google world news for example) but at the same time I have a low volume internal company feeds that I can keep at default time of 30 days.
currently with default options quiterss is consuming 1Gb of ram which is quite huge...
https://i.imgur.com/7gGZv93.png
https://i.imgur.com/6gsRWVN.png

@FreePlague
Copy link

Same behavior at latest version 0.19.4
Saving all database each time minimizing program is giant BUG
Unfortunately discovered this only recently when I was investigating excessive disk writes from another program

@morfikov
Copy link

I've also hit this issue on my Debian linux (quiterss ver. 0.19.4+dfsg-1). I accidentally noticed that each time I minimize quiterss to tray, it writes lots of data to the disk. But this happens only then I minimize the window to tray or close it to tray. I also had this "keep db in memory" option enabled, because I thought it does what it says, but I see that quiterss writes around 6GiB data to disk everyday. I unchecked the option, and now I see only small writes around 20-50KiB/s for some secs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants