我最近將我的 NAS 從 QNAP TS-231P 升級到 QNAP TS-932PX 。新系統使用 4 顆 SSD,RAID 6 作為檔案分享 ,以及 5 顆 HDD,RAID 6 作為備份 。此外,每晚還會執行一次雲端備份。
我們辦公室大約有 10 個人使用 NAS 進行檔案分享 ,而且 NAS 已加入 Windows Server 2019 的 Active Directory 。
一開始幾個月一切運作良好。不過,大約從上個月開始,使用者每天早上都回報效能非常緩慢 。瀏覽資料夾或開啟檔案可能需要 2 到 30 秒 。
如果我早上重開 NAS ,整天都會正常運作。但隔天早上又會出現延遲 ,唯一能再次解決的方法就是再重開一次。
我聯絡了 QNAP 技術支援 ,他們的高階技術人員也協助排查,但沒發現明顯問題。他們建議監控 swap 檔案 ,或可能加裝更多記憶體 ,但我覺得這不太合理,因為:
記憶體使用率從未超過 40%
CPU 使用率維持在 10% 以下
網路(2.5Gb)幾乎沒被用滿
我已經將 NAS 從 Active Directory 移除再重新加入
使用者、伺服器與 NAS 之間的 ping 延遲始終約 1 ms
硬碟運作速度正常
經過 兩週的排查 ,我已經沒什麼頭緒了。接下來可能會嘗試將 NAS 從 Active Directory 移除測試 ,或是重設並重新格式化 NAS 。
感謝任何建議。
所以有幾件事要注意:
永遠不要假設 CPU 使用率 = CPU 負載。它們是不同的。你可能會看到低 CPU 使用率但高 CPU 負載,這絕對會影響你的系統。要查看 CPU 負載,請打開 SSH shell 並執行 top 指令。會有一行叫做 Load Average(負載平均值),包含三個數字。這些數字分別代表過去 1 分鐘、5 分鐘和 15 分鐘的平均負載或 CPU 正在處理的執行緒數量。如果負載平均值超過你裝置的核心數,那麼你就會發現速度變慢。例如,我的 TS-873A 有 4 個實體核心,每個核心可處理 2 個執行緒,也就是 8 個核心。所以當我的 TS-873A 超過 8 時就會開始變慢。如果你遇到速度問題,請在速度變慢時檢查這個數值。
我在 QNAP 上也遇過殭屍程序(zombie process)持續運行且消耗資源,卻沒有被正確關閉。大約一個月前我遇到過負載顯示極高的情況,結果發現是 Hybrid Backup Sync 裡的某個東西造成的。
你的 NAS 在夜間或其他時間有執行什麼程序或應用程式可能導致變慢嗎?備份會消耗大量資源,如果沒有在隔天前完成,會拖慢速度。其他應用程式也可能如此,等等。
解決步驟如下:
1.) 先查看 TOP,看看你的負載是多少,如果很高,檢查下方列表中是否有某個應用程式 CPU 使用率很高。
2.) 開始停止可能高用量的應用程式,例如 Container Station、Virtualization Station 等。從 App Center 停止應用程式。觀察幾分鐘,看使用率是否開始下降。如果有,那就找到問題應用程式。繼續這樣做直到找到佔用負載的應用程式。
3.) 停止問題應用程式後,重新啟動 NAS。
4.) NAS 重新啟動後,再啟動該應用程式。
5.) 監控你的負載,看看問題是否還會發生。
這些問題可能需要一些時間和精力來找出原因。如果你持續要求 QNAP 支援協助,他們會幫你。這過程需要和他們多溝通,你需要詳細說明你做了什麼。要求將案件升級。確保他們從 Helpdesk 登入你的 NAS 並檢查狀況。
這是在2月27日系統緩慢期間的狀態,我在其他緩慢期間的日子也看到類似的負載平均值
\[~] # top
Mem: 3710592K used, 325376K free, 54016K shrd, 1495552K buff, 298496K cached
CPU: 6.5% usr 0.0% sys 0.0% nic 0.0% idle 93.4% io 0.0% irq 0.0% sirq
Load average: 22.89 20.50 13.37 2/879 17322
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
9727 1 admin S 2314m 58.3 3 2.1 /sbin/hal_daemon -f
17316 14395 admin R 3520 0.0 1 2.1 top
24832 17582 admin S < 3060m 77.1 0 0.0 /usr/local/apache/bin/apache_proxy
29175 1 admin S 1406m 35.4 1 0.0 {cc3-fastcgi} python /share/CACHED
14546 1 admin S 1238m 31.1 1 0.0 /usr/local/sbin/qulogdb --defaults
26475 1 admin S 1210m 30.4 0 0.0 {p2pagent} /share/CACHEDEV2_DATA/.
30866 18157 admin S 1205m 30.3 3 0.0 {apache_proxys} /usr/local/apache/
31531 1 admin S 967m 24.3 2 0.0 /usr/local/mariadb/bin/mysqld --de
15705 15704 admin S 856m 21.5 0 0.0 /usr/local/sbin/ncd
12976 1 admin S 855m 21.5 1 0.0 /usr/local/mariadb/bin/mysqld --de
23248 1 admin S 838m 21.1 2 0.0 /usr/local/mariadb/bin/mysqld --de
15614 1 admin S 486m 12.2 2 0.0 /usr/local/sbin/ncdb --defaults-fi
7338 1 admin S 425m 10.7 2 0.0 /mnt/ext/opt/Python/bin/python ./
26437 1 admin S 326m 8.2 0 0.0 tunnelagent
5698 1 admin S 296m 7.4 1 0.0 /sbin/cs_qdaemon
11507 1 admin S 266m 6.7 3 0.0 /mnt/ext/opt/Python/bin/python /mn
14644 14636 admin S 260m 6.5 2 0.0 /usr/local/sbin/qulogd
14366 1 admin S 260m 6.5 0 0.0 /usr/local/sbin/qulogd
17118 1 admin S 260m 6.5 2 0.0 /usr/local/sbin/qulogd
31916 1 admin S 249m 6.2 3 0.0 /usr/local/bin/qsyncsrv_monitor -p
這是現在沒有人在工作的時候
Mem: 3723328K used, 312640K free, 46592K shrd, 1653312K buff, 219584K cached
CPU: 0.9% usr 1.3% sys 0.0% nic 97.6% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.28 1.32 1.40 1/823 6903
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
9838 1 admin S 2251m 56.7 1 0.9 /sbin/hal_daemon -f
31602 1 admin S 903m 22.7 2 0.0 /usr/local/mariadb/bin/mysqld --defaults-file=/etc/
9890 1 admin S 46976 1.1 3 0.0 {nmd} python /usr/local/network/nmd/nmd.pyc
7426 1 admin S 14912 0.3 0 0.0 /mnt/ext/opt/netmgr/util/redis/redis-server *:0
6856 28205 admin R 4096 0.1 0 0.0 top
3808 17771 admin S < 3060m 77.1 2 0.0 /usr/local/apache/bin/apache_proxy -k start -f /etc
29211 1 admin S 1406m 35.4 0 0.0 {cc3-fastcgi} python /share/CACHEDEV3_DATA/.qpkg/Hy
14657 1 admin S 1238m 31.1 3 0.0 /usr/local/sbin/qulogdb --defaults-file=/mnt/ext/op
26675 1 admin S 1209m 30.4 0 0.0 /share/CACHEDEV2_DATA/.qpkg/CloudLink/bin/p2pagent
30877 18338 admin S 1205m 30.3 2 0.0 /usr/local/apache/bin/apache_proxys -k start -f /et
13123 1 admin S 855m 21.5 0 0.0 /usr/local/mariadb/bin/mysqld --defaults-file=/usr/
23639 1 admin S 838m 21.1 0 0.0 /usr/local/mariadb/bin/mysqld --defaults-file=/etc/
15746 15742 admin S 827m 20.8 2 0.0 /usr/local/sbin/ncd
15651 1 admin S 485m 12.2 2 0.0 /usr/local/sbin/ncdb --defaults-file=/mnt/ext/opt/N
7388 1 admin S 425m 10.7 3 0.0 /mnt/ext/opt/Python/bin/python ./manage.pyc runfcgi
27172 1 admin S 328m 8.2 0 0.0 tunnelagent
5757 1 admin S 296m 7.4 1 0.0 /sbin/cs_qdaemon
11649 1 admin S 266m 6.7 1 0.0 /mnt/ext/opt/Python/bin/python /mnt/ext/opt/netmgr/
14759 14751 admin S 260m 6.5 2 0.0 /usr/local/sbin/qulogd
31944 1 admin S 249m 6.2 1 0.0 /usr/local/bin/qsyncsrv_monitor -pid:31940 -reg:/sh
23915 1 admin S 248m 6.2 0 0.0 /usr/local/sbin/pp_qcoolied -f /etc/config/pp_qcool
4329 1 admin S 227m 5.7 3 0.0 /sbin/lvmetad
20500 1 admin S 219m 5.5 2 0.0 /usr/sbin/rsyslogd -f /etc/rsyslog_only_klog.conf -
30153 1 admin S 194m 4.8 1 0.0 {php-fpm-proxy} php-fpm: master process (/etc/php-f
30157 30153 admin S 194m 4.8 2 0.0 {php-fpm-proxy} php-fpm: pool www
30158 30153 admin S 194m 4.8 1 0.0 {php-fpm-proxy} php-fpm: pool www
31833 1 admin S 192m 4.8 3 0.0 /sbin/qsyncsrv_dbm -b
20970 1 admin S 174m 4.4 1 0.0 /sbin/qShield
20965 1 admin S 174m 4.4 3 0.0 qNoticeEngined: Write notice is enabled…
19864 1 admin S 169m 4.2 1 0.0 /usr/local/bin/rfsd_qmonitor -f:/tmp/rfsd_qmonitor.
18780 1 admin S 168m 4.2 2 0.0 /mnt/ext/opt/Python/bin/python2 /sbin/wsd.py
20967 1 admin S 167m 4.2 2 0.0 qLogEngined: Write log is enabled…
10396 10393 admin S 149m 3.7 0 0.0 /usr/local/bin/rates_monitor_start
18367 32316 admin S 135m 3.4 2 0.0 /usr/local/samba/sbin/smbd -l /var/log -D -s /etc/c
4595 32316 admin S 129m 3.2 0 0.0 /usr/local/samba/sbin/smbd -l /var/log -D -s /etc/c
24710 32316 admin S 126m 3.1 3 0.0 /usr/local/samba/sbin/smbd -l /var/log -D -s /etc/c
3771 32316 admin S 126m 3.1 1 0.0 /usr/local/samba/sbin/smbd -l /var/log -D -s /etc/c
9922 9890 admin S 116m 2.9 2 0.0 {ncaas} python /usr/local/network/nmd/nmd.pyc
9923 9890 admin S 116m 2.9 1 0.0 {qserviced} python /usr/local/network/nmd/nmd.pyc
32424 32316 admin S 113m 2.8 2 0.0 /usr/local/samba/sbin/smbd -l /var/log -D -s /etc/c
32316 1 admin S 113m 2.8 0 0.0 /usr/local/samba/sbin/smbd -l /var/log -D -s /etc/c
14751 1 admin S 108m 2.7 2 0.0 /usr/local/sbin/qulogd
10729 9808 admin S < 107m 2.7 0 0.0 /usr/local/samba/sbin/winbindd -s /etc/config/smb.c
15742 1 admin S 106m 2.6 2 0.0 /usr/local/sbin/ncd
21592 1 admin S 104m 2.6 2 0.0 /usr/bin/qsnapman
29655 1 admin S 99m 2.5 2 0.0 /usr/bin/RTRR_MANAGER
9846 9808 admin S < 98m 2.4 0 0.0 /usr/local/samba/sbin/winbindd -s /etc/config/smb.c
15727 1 admin S 99520 2.4 0 0.0 /usr/local/sbin/ncloud
9847 9808 admin S < 97152 2.3 0 0.0 /usr/local/samba/sbin/winbindd -s /etc/config/smb.c
9902 9808 admin S < 96832 2.3 3 0.0 /usr/local/samba/sbin/winbindd -s /etc/config/smb.c
32321 32316 admin S 95360 2.3 0 0.0 {cleanupd} /usr/local/samba/sbin/smbd -l /var/log -
32319 32316 admin S 95232 2.3 3 0.0 {smbd-notifyd} /usr/local/samba/sbin/smbd -l /var/l
7037 9808 admin S < 93312 2.3 2 0.0 /usr/local/samba/sbin/winbindd -s /etc/config/smb.c
9808 1 admin S < 86912 2.1 0 0.0 /usr/local/samba/sbin/winbindd -s /etc/config/smb.c
19856 1 admin S 77056 1.9 2 0.0 /sbin/rfsd -i -f /etc/rfsd.conf
30107 30105 admin S < 73792 1.8 0 0.0 /home/httpd/cgi-bin/qsync/qsyncsrv.fcgi
我也把這些統計數據餵給了AI
https://x.com/i/grok/share/c0ff440f825b46b8a25c50b0050f0416
所以負載達到22.89會非常慢。
現在,你需要找出造成這種情況的原因。很難確切知道是哪個進程導致的。請檢查以下幾點:
1.) 你有在夜間執行備份嗎?
2.) 這些備份在早上前有完成嗎?
3.) 如果你夜間不執行備份,會發生什麼事?
4.) 當負載很高時,逐一停止應用程式。從像是Container Station、Virtualization Station、Web Server等開始,一個一個關閉。每次關閉後等幾分鐘,觀察負載情況。當你找到問題應用時,負載會很快下降。
不幸的是,你的TS-932PX是ARM A57 CPU。這比你的TS-231P稍微升級一點,但差距不大。如果你是在商業環境中使用這台NAS,你需要購買不同型號的NAS。ARM Cortex A57是一顆很棒的MPU,但真的只適合特定的嵌入式應用。它並不適合用來作為10人檔案伺服器。我很抱歉告訴你,這次升級你買錯NAS了。你至少應該換成X86架構的NAS,最低建議AMD Ryzen V1500B這種型號,例如TS-x73A NAS。更好的選擇是i5或i7,但這些價格會更高一些。
這台 NAS 僅用於檔案分享,沒有作為任何伺服器主機。TS-231P 多年來運作良好,我只是為了增加儲存空間才升級到 TS-932PX。
如果早上重新啟動,這台 NAS 一整天運作都很快。備份會在夜間完成,早上並未執行。
你關於高負載平均值的建議目前是最有幫助的,讓我有了進一步排查的方向。
這絕對不是好現象。
NA9D:
所以負載達到 22.89,速度會非常慢。
順帶一提,如果真的只是空間問題,其實你可以 直接升級 231P 裡的硬碟。我就是這麼做的(QNAP TS-231P-US 2x18TB Seagate Exos)。
這種情況我通常會懷疑儲存裝置。一般來說,我會建議檢查硬碟狀態和 SMART 診斷,不過我不確定你用 SSD 能看到哪些資訊(因為我自己的 NAS 沒有用 SSD)。
也許你可以貼出 SSD 型號,看看是否有人有相關經驗。
一定有某個瓶頸導致 CPU 負載延遲。
你也可以向 QNAP 提交支援單,由他們協助調查。
這些硬碟已經過測試,運行速度和IOPS都正常。我是從 QNAP TS-231P 遷移過來的。所以我正在考慮將整個系統重置,從頭開始全新設置。
5 顆 WD Red Plus 用於 RAID6 夜間備份
IOPS 73、117、77、125、113
MB/s 176、177、176、194
4 顆 WD Red SA500 2TB RAID6 儲存
IOPS 40434、40701、40627、40011
MB/s 537、537、538、538
所以有可能是你的備份留下了一些殭屍執行緒(zombie threads),沒有正確關閉。我以前也見過這種情況。
你用的是哪個備份應用程式?
如果你用的是 Hybrid Backup Sync,請這樣做:
1.) 關閉 HBS
2.) 重新啟動 NAS
3.) 啟動 HBS
在重啟前先關閉應用程式,可以終結所有這些殘留的進程,這樣它們就不會再啟動了。單純重啟的話,基本上會把事情恢復到原來的狀態。
我已經完全停用了備份服務,但隔天早上系統依然很慢。根據我最新的發現,這可能和交換檔(swap file)有關,因為它會增長到超過800MB。沒有人知道原因。技術支援今天會遠端連線協助。
dosborne:
你本來可以 升級231P裡的硬碟
我選擇TS-932PX是因為它支援的硬碟數量。4個2.5吋和5個3.5吋,非常方便。我一直以來都在用Synology NAS,這次會選QNAP是因為這個辦公室本來就有一台QNAP,讓我很容易轉移設定。現在有點後悔沒選Synology。
那麼你在停用備份軟體後有重新啟動 NAS 嗎?
800 MB 的 swap 不應該是個問題。我的 swap 現在有 1GB,NAS 也運作得很好。
你有按照我建議的,慢慢關閉你正在執行的應用程式/服務來觀察狀況嗎?
另外,我剛才才想到沒問這個:你有在用 Qsirch 嗎?Qsirch 會佔用大量系統資源,直到它將整個硬碟建立索引完成。
根據你貼的 TOP 結果,我覺得你應該沒在用 Qsirch,不過還是得問一下。我回頭看了你貼的 TOP 結果。有一點很明顯:
首先,你有多少記憶體?
你有在用什麼需要 Apache 的服務嗎?那是內建的網頁伺服器。除非你有在跑某種網頁伺服器應用,否則不需要啟用它。這些應用程式都佔用了不少虛擬記憶體,而 %VSZ 這個數字才是真正讓人擔心的。我剛看了我的 TS-873A(裝了不少應用),雖然我的應用程式也都吃了不少虛擬記憶體,但沒有一個超過 12% Virtual Size。
根據你的 TOP 輸出,你已經用了 3.71GB 記憶體,只剩下 325MB 記憶體可用。這就是你的問題。你需要更多記憶體,尤其是如果有 10 個人共用你的 NAS。你現在還是用原本出廠的 4GB 嗎?
我建議你至少要裝 16GB,甚至 32GB。
這不是 QNAP 跟 Synology 的問題。這是 NAS 沒有配備足夠資源的問題。
舊的 NAS 有 1GB 記憶體,多年來運作都很正常。
這是技術支援提供的資訊。QNAP 開發團隊目前正在調查此問題。
- 兩顆硬碟(sda 和 sdb) 正經歷 非常高的 I/O 使用率(約 100%) ,導致 RAID 磁碟陣列和 NAS 進入忙碌狀態。
可用記憶體降到約 450 MB ,而 CPU 負載平均值達到 24.9 。
10 個人透過 SMB 存取共享檔案,不應該需要更多的 NAS 記憶體。
隨便你。你可以無視我們的建議,但我告訴你,4GB 的記憶體是不夠的。你的虛擬記憶體使用率很高,是因為你的應用程式佔用了你所有的記憶體,導致沒有足夠的空間來運作。我不在乎你舊的 NAS 只有 1GB 並且運作多年都沒問題,那很可能是因為它跑的是舊的作業系統。我的舊 IBM PC 只有 128k。那在現在根本不夠!
你可以選擇忽略我們的建議,但那樣的話我們也無法再幫你了。
Apache 佔用了大量的虛擬記憶體資源。我在我的 NAS 上完全沒看到這種情況。這也是為什麼我會問你 Apache 到底在做什麼。在我的 NAS 上,Apache 佔用的資源少到我根本看不到。
你還有一個點對點代理程式(p2pagent)也在執行,同樣佔用了記憶體資源。
你從來沒有說過你是否嘗試關閉其他應用程式來看看會發生什麼。這一直是我從一開始的建議,但你一直說你只有讓人分享檔案,但我們看到的是大量的虛擬記憶體使用,因為你正在運行的應用程式正在做某些事情,把可用記憶體都用光了,因此它們不得不把部分資源快取到硬碟上,這也是為什麼一切都這麼慢。
但隨便啦……
NA9D:
「Apache 佔用了大量的虛擬記憶體資源」
Web 伺服器沒有被檢查。我不知道怎麼關閉 Apache,而且為什麼它會在運行?我以為它是 QNAP 作業系統的一部分。
NA9D:
「你從未說明你是否嘗試關閉其他應用程式」
我不知道怎麼關閉不是 NAS 應用商店的應用程式,而且除了備份(目前已停用)之外,NAS 應用商店也沒有安裝其他應用程式。
理論上不應該有任何快取。我們只是在使用基本的資料夾分享。某些設定肯定有問題。我打算把 NAS 完全重置。我覺得從舊 NAS 過渡時有哪裡出錯了。
非常感謝你的協助。
kr3425:
我打算從頭開始重置 NAS。
我認為這可能是個好主意,因為這樣可以排除許多變數。
不過我對你所說的「從舊 NAS 過渡」這個步驟感到困惑。你是怎麼做的?你具體做了什麼?也許這沒什麼意義,但或許能提供一些線索,幫助了解目前的狀況。如果有一個簡單的解決方法卻沒發現,或者你重新設定了某些導致不良影響的東西,那就太可惜了。
沒錯,但問題在於它似乎佔用了不少記憶體,而你的記憶體本來就不多。
你可以從 App Center(應用中心)關閉應用程式。點擊應用程式旁邊的箭頭,然後選擇停止:
如果你只 sop 用檔案分享和 Hybrid Backup Sync(混合備份同步),可能還有其他應用程式可以關閉。值得檢查一下。
OK,當我說快取時,這是指作業系統因為記憶體不足,把你的應用程式快取到硬碟上。所以你有這麼多進程在運行,記憶體用完了,作業系統就會用硬碟空間作為虛擬記憶體,把部分或全部應用程式從記憶體寫到硬碟。然後當你要存取它們時,就必須從硬碟讀回記憶體,等等。這就是「swap」(交換)檔案。
你可以嘗試重建 NAS。但我還是覺得你會遇到記憶體不足的問題。現代系統只有四 GB 記憶體真的不夠用——尤其是伺服器……
我除了已安裝但目前已停用的 HBS3 之外,沒有安裝任何其他東西。
我將硬碟從舊的 NAS 移過來,並在新的 NAS 上還原了設定備份檔案。
這個週末我打算進行完整重置並重新格式化。
在進行完整的出廠重置和磁碟重新格式化後,NAS 變得快了很多。
很好。希望你的記憶體問題不會再出現。如果真的出現了,那你的解決方法就是加裝更多記憶體(RAM)。這從來不是壞事。