我最近將我的 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,但這些價格會更高一些。
1個讚
這台 NAS 僅用於檔案分享,沒有作為任何伺服器主機。TS-231P 多年來運作良好,我只是為了增加儲存空間才升級到 TS-932PX。
如果早上重新啟動,這台 NAS 一整天運作都很快。備份會在夜間完成,早上並未執行。
你關於高負載平均值的建議目前是最有幫助的,讓我有了進一步排查的方向。
這絕對不是好現象。
順帶一提,如果真的只是空間問題,其實你可以直接升級 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。沒有人知道原因。技術支援今天會遠端連線協助。
我選擇TS-932PX是因為它支援的硬碟數量。4個2.5吋和5個3.5吋,非常方便。我一直以來都在用Synology NAS,這次會選QNAP是因為這個辦公室本來就有一台QNAP,讓我很容易轉移設定。現在有點後悔沒選Synology。
1個讚
那麼你在停用備份軟體後有重新啟動 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 沒有配備足夠資源的問題。