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

/purge/* will cause 100% of disk io usage #32

Open
cdliaozhi opened this issue Sep 22, 2020 · 7 comments
Open

/purge/* will cause 100% of disk io usage #32

cdliaozhi opened this issue Sep 22, 2020 · 7 comments

Comments

@cdliaozhi
Copy link

I use Azure VM with nginx as the reverse proxy. And add a 64g Premium SSD as cache disk. When I use /purge/* to clear the cache, the disk IO exceeds 100%.
image

@denji
Copy link
Member

denji commented Sep 22, 2020

Configuration file you have may be affected by other nginx settings like thread async i/o, cache lock.
What is the number of objects to be deleted (cache folder)? This module has no barrier or throttling.

@cdliaozhi
Copy link
Author

My OS is FreeBSD 12.0. No async i/o. No matter I set proxy_cache_lock on or off, the same failure will occur.
Even if I purge a new site, just 28 pages.

@cdliaozhi
Copy link
Author

cdliaozhi commented Sep 28, 2020 via email

@midorinet
Copy link

I'm having the same issue here.. any workaround for big cache size like > 300GB ?

@cdliaozhi
Copy link
Author

cdliaozhi commented Sep 29, 2020 via email

@ennorehling
Copy link

Earlier today, I explained why this happens, here:
FRiCKLE#55 (comment)
It's a fundamental problem with the way the plugin decides what is matched by a partial cache_key. There's apparently no easy way to find the cache_key for a given cache node, so instead it opens every file in the cache and reads the cache_key from that (it's stored as a string directly after the header). This is obviously going to hurt the disk. IMHO, this plugin is fundamentally flawed, and this isn't even the only problem with it.

@pei-jikui
Copy link

delete the file from disk in a worker process is REALLY NOT a good idea.

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