-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
fix: opcache configuration #2185
base: master
Are you sure you want to change the base?
Conversation
As stated in the AIO issue, I would not raise OPcache size and interned strings buffer, unless there is really a case where this is required. Reducing JIT to 8 MiB alone should solve the issue. |
Signed-off-by: adripo <26493496+adripo@users.noreply.github.com>
Signed-off-by: adripo <26493496+adripo@users.noreply.github.com>
I think the solution done here, as well as in AIO, is fine. Since the JIT cache size seems to pre-allocate memory from overall OPcache (same as interned strings buffer does), it should fix the warning. My idea to generate an image with JIT disabled completely was more for testing purpose, to see whether it has the same larger than expected impact on OPcache buffer usage that I observed on my test system, strengthening my guess that JIT uses in fact more OPcache buffer than what one configures with AIO uses doubled OPcache size now. On x86_64, this is not such a problem (compared to embedded devices, ARM SBCs and such), and the image comes with quite a number of additional apps, also larger ones like Nextcloud Office, so it makes sense cover possible edge cases with high OPcache usage, for Docker containers where changing such configs is not so easy/common. For this lighter Nextcloud Docker image, it should be fine to leave the overall OPcache size at 128M (default). It can be raised later in case there appear really cases, where it is still insufficient. |
I agree. Let's fix the alert first and do other fixes if necessary in the future. |
I'm not fully up to speed on this topic, but to help nudge this along: In general we try to keep this image set aligned with what's recommended in the official Nextcloud Admin Manual for a baseline deployment. My concern here is that we're going off book. Maybe we work on clarifying / updating the upstream docs first: https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache After all part of the problem seems to be that the docs lack clarity in this area. AIO is sort of a different creature. There things can be tuned based on fewer unknowns (it has a specific way of doing things, is designed for a specific type of deployment, and the pieces it is commonly deployed with are easier to predict). This image, however, isn't like that. If nothing else, let's push an update of the upstream docs in parallel. After all, you all have already done the mental work of figuring out some values that apparently make more sense as baseline defaults. The benefits should not be limited to only this Docker image. Let's make things smoother for others as well. :-) |
Absolutely. Looks like someone threw inside a number without checking back anything (no offence 😄). I think I mentioned it elsewhere already, that additionally it makes sense to mention that JIT is x86_64-only, not supported on ARM, RISC-V or anything else. |
@MichaIng https://github.com/nextcloud/documentation/pull/11872/files#r1638279688 didn't update the recommend |
I'll do when I find time. Kinda busy recently, though it is a small change only. |
@J0WI |
fix #2184
replica of nextcloud/all-in-one#2762