GitLab 配置最佳化

漠裡發表於2023-04-21

  程式碼庫最近換了,使用了 GitLab。這兩天觀察了下伺服器的使用情況,發現 GitLab 很吃記憶體。直接佔用了 30 多個G的記憶體。

一、發現問題

  使用 top 命令檢視記憶體時,發現前幾十個都是同一個應用程式。再透過 ll /proc/pid 命令查詢具體程式位置,發現都是 GItLab 。

  這其中包含了 gitlab、postgresql、nginx 等各種 gitlab 所需的服務。具體如下圖:

二、查詢原因

  經過查證。GitLab 在預設情況下,其配置是很吃配置的,如工作的核數,是當前機器 CPU 核數 +1。再加上資料庫快取、Sidekiq 等都需要設定。

  具體可以參考:

    解決 GitLab 記憶體消耗大

    Puma 介紹

    Sidekiq 介紹

三、解決

  問題已經找到,那就直接修改問題即可。

  主要就是修改 gitlab.rd 配置檔案即可。(下面的配置可以滿足幾十人的工作需求)

  1、修改 Puma(在 13.0版本後是這個,以前是unicorn)

    主要是設定工作程式個數和最大、最小執行緒個數。

  2、修改 Sidekiq

    設定 Sidekiq 併發個數,建議是設定成相同的數值。

  3、修改 postgresql 

    設定快取大小、工作程式個數。

相關文章