我的 nextcloud 伺服器使用太多 RAM (apache)
我正在使用具有以下配置的 Apache:
Timeout 60 KeepAlive On MaxKeepAliveRequests 100 <FilesMatch \.php$> SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/" </FilesMatch> HostnameLookups Off <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <Directory /var/www/html/> Options +FollowSymlinks AllowOverride All </Directory> <IfModule mod_expires.c> ExpiresActive On FileETag None ExpiresByType text/javascript "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType text/html "access plus 1 month" </IfModule> <IfModule worker.c> StartServers 2 MaxClients 50 MinSpareThreads 1 MaxSpareThreads 2 ThreadsPerChild 15 MaxRequestsPerChild 0 </IfModule> <IfModule prefork.c> StartServers 2 MinSpareServers 1 MaxSpareServers 2 MaxClients 60 MaxRequestsPerChild 1000 </IfModule>
然後這是我的 external.conf(來自 varnish 的流量將被加密的地方):
<VirtualHost *:443> Protocols h2 http/1.1 ServerName cloud.privacyy.ch ErrorLog /var/log/apache2/external-https_error.log CustomLog /var/log/apache2/external-https_access.log combined Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/cloud.privacyy.ch/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/cloud.privacyy.ch/privkey.pem ProxyPreserveHost On ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^/\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L] RewriteRule ^/\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L] #RewriteRule ^/\.aurora https://cloud.privacyy.ch/aurora-staefa.ch/ [R=301,L] </IfModule> Header set Cache-Control "max-age=84600, private" <FilesMatch "\.(js|css|php)$"> Header set Cache-Control "max-age=63072000, private" </FilesMatch> Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains" Header always set X-Content-Security-Policy "allow 'self';" Header always set x-xss-protection "1; mode=block" Header always set X-Robots-Tag "none" Header always set X-Download-Options "noopen" Header always set X-Permitted-Cross-Domain-Policies "none" Header set X-Content-Type-Options: "nosniff" Header set X-Frame-Options: "sameorigin" SSLCompression off </VirtualHost>
這是 internal.conf:
<VirtualHost *:8181> protocols h2 http/1.1 DocumentRoot /var/www/html <FilesMatch \.php$> SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/" </FilesMatch> <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" </IfModule> Header set Cache-Control "max-age=84600, public" <FilesMatch "\.(iso|mp3|mp4|m4a|mov)$"> Header set Cache-Control "max-age=42300, private" </FilesMatch> </VirtualHost>
請注意,我沒有在此處包含評論或喜歡日誌設置
當我使用網路瀏覽器下載任何東西時,apache 伺服器使用越來越多的記憶體(並且即使我不下載 12.3GB 文件也使用整個 12.3GB 交換空間)並且下載速度正在下降。使用 Nextcloud(桌面/手機)應用程序時也會發生同樣的情況
原始下載速度為 10MB/s
我啟用了以下 apache mods:
access_compat alias auth_basic authn_core authn_file authz_core authz_host authz_user autoindex deflate dir env expires fcgid filter headers http2 mime mpm_event negotiation pagespeed proxy proxy_balancer proxy_fcgi proxy_http reqtimeout rewrite setenvif slotmem_shm socache_shmcb ssl status unique_id
我正在使用 maria 數據庫(最近切換但沒有做太多)
Nextcloud 使用 redis-server 作為 php 記憶體,我已經使用 nextcloud 的推薦設置啟用了 opcache。我已經禁用它進行測試,但這並沒有解決問題。
Accessibility 1.8.0 Vorgestellt Activity 2.15.0 Vorgestellt Brute-force settings 2.2.0 Vorgestellt Calendar 2.3.4 Vorgestellt Camera RAW Previews 0.7.12 Checksum 1.1.2 Circles 22.1.1 Vorgestellt Collaborative tags 1.12.0 Vorgestellt Comments 1.12.0 Vorgestellt Contacts 4.0.3 Vorgestellt Contacts Interaction 1.3.0 Vorgestellt Dashboard 7.2.0 Vorgestellt Default encryption module 2.10.0 Vorgestellt Deleted files 1.12.0 Vorgestellt End-to-End Encryption 1.7.1 Vorgestellt Federation 1.12.0 Vorgestellt File sharing 1.14.0 Vorgestellt Group folders 10.0.0 Vorgestellt Log Reader 2.7.0 Vorgestellt Mail 1.10.5 Vorgestellt Maps 0.1.9 Vorgestellt Metadata 0.14.0 Monitoring 1.12.0 Vorgestellt Nextcloud announcements 1.11.0 Vorgestellt Notes 4.1.1 Vorgestellt Notifications 2.10.1 Vorgestellt Password policy 1.12.0 Vorgestellt PDF viewer 2.3.0 Vorgestellt Photos 1.4.0 Vorgestellt Privacy 1.6.0 Vorgestellt Quota warning 1.11.0 Recognize 1.6.10 Registration 1.3.0 Right click 1.1.0 Vorgestellt Share by mail 1.12.0 Vorgestellt Support 1.5.0 Vorgestellt Talk 12.1.2 Vorgestellt Text 3.3.0 Vorgestellt Theming 1.13.0 Vorgestellt Two-Factor Email 2.1.1 Update notification 1.12.0 Vorgestellt Usage survey 1.10.0 Vorgestellt User status 1.2.0 Vorgestellt Versions 1.15.0 Vorgestellt Video converter 1.0.3 Video player 1.11.0 Vorgestellt Weather status 1.2.0 Vorgestellt
(呈現方式推薦)
只有 apache 使用那麼多 RAM - 其他一切都很好 此外,在我重新載入/重新啟動 apache 伺服器之前,這些東西不會從 RAM(&swap)中刪除
從瀏覽器下載時,下載停止在 383MB - 並且瀏覽器沒有說明要下載的文件有多大(Onedrive 也有這個問題,在較大的文件夾上下載速度低於 1MB/s,就像:未知剩餘時間- 已經下載了多少 - 下載速度)
我配置錯了什麼?或者是別的什麼?
我的伺服器是蘋果 macbook air 4GB RAM 2GHz - 2.2GHz(boost) Intel 多執行緒 2 核 cpu,xanmod 核心 如果缺少某些東西,請通知我一件事:如果沒有可用 RAM,earlyoom 會殺死 apache 伺服器另一件事:我在沒有 x-server 的 Ubuntu21.04 和 400MB RAM 使用量(如果沒有發生任何事情)
禁用 Modsecurity 身體掃描並繞過清漆記憶體進行下載
這是一個問題:https ://github.com/varnishcache/varnish-cache/issues/2964