در حال اجرا Gitlab در یک محیط با حافظه

ساخت وبلاگ

با برخی تنظیمات ، GitLab می تواند با مشخصات بسیار پایین تر از آنچه در حداقل الزامات یا معماری های مرجع شرح داده شده است ، راحت عمل کند.

بخش های زیر حاوی مشاوره ای است که به GitLab اجازه می دهد تا در محیط هایی اجرا شود که حداقل شرایط را برآورده نمی کنند. در حالی که بیشتر قطعات gitlab باید با این تنظیمات کاربردی باشد ، ممکن است شما تخریب غیر منتظره ای از عملکرد محصول و عملکرد را تجربه کنید. شما باید بتوانید GitLab را با حداکثر 5 توسعه دهنده با پروژه های GIT فردی بزرگتر از 100 مگابایت اجرا کنید.

حداقل نیاز برای محیط های محدود

  • سیستم مبتنی بر لینوکس (در حالت ایده آل مبتنی بر دبیان یا مبتنی بر redhat)
  • 4 هسته CPU از ARM7/ARM64 یا 1 هسته CPU معماری AMD64
  • حداقل 2 گیگابایت رم + 1 گیگابایت تعویض ، بهینه 2. 5 گیگابایت رم + 1 گیگابایت مبادله
  • 20 گیگابایت ذخیره موجود
  • ذخیره سازی با عملکرد I/O تصادفی خوب با سفارش اولویت:
    • SSD
    • منزوی
    • HDD
    • کارت SD با کارایی بالا A1

    از لیست فوق ، عملکرد تک هسته ای CPU و عملکرد تصادفی I/O ذخیره سازی بیشترین تأثیر را دارد. ذخیره سازی به ویژه بسیار مهم است زیرا در یک محیط محدود انتظار داریم که مقداری از تعویض حافظه اتفاق بیفتد که فشار بیشتری به دیسک استفاده می کند. یک مشکل شایع برای عملکرد محدود سیستم عامل های کوچک ، ذخیره سازی دیسک بسیار کند است که منجر به تنگنا در سطح سیستم می شود.

    با استفاده از این تنظیمات حداقل ، سیستم باید در حین کار منظم از مبادله استفاده کند. از آنجا که همه مؤلفه ها به طور همزمان استفاده نمی شوند ، باید عملکرد قابل قبولی را ارائه دهد.

    عملکرد سیستم خود را تأیید کنید

    تعداد زیادی ابزار در دسترس است که به شما امکان می دهد عملکرد سیستم مبتنی بر لینوکس را تأیید کنید. یکی از پروژه هایی که می تواند با بررسی عملکرد سیستم شما کمک کند ، SBC-Bench است. این توصیف تمام احتیاط های آزمایش سیستم و تأثیر رفتارهای مختلف بر عملکرد سیستم شما است که به ویژه هنگام اجرای GitLab در یک سیستم تعبیه شده از اهمیت ویژه ای برخوردار است. اگر عملکرد سیستم شما به اندازه کافی خوب باشد برای اجرای GitLab در یک محیط محدود می تواند به عنوان راهی برای تأیید اعتبار استفاده شود.

    • Raspberry Pi 4 2 گیگابایت.
    • 2 گیگابایت DigitalOcean Basic با SSD.
    • Scaleway DEV1-S 2GB/20GB.
    • GCS E2-SMALL.

    تعویض را پیکربندی کنید

    قبل از نصب GITLAB برای پیکربندی نیاز به مبادله دارید. مبادله یک فضای اختصاصی روی دیسک است که هنگام پر شدن رم فیزیکی استفاده می شود. هنگامی که یک سیستم لینوکس از رم خارج می شود ، صفحات غیرفعال از رم به فضای مبادله منتقل می شوند.

    استفاده از مبادله اغلب یک مشکل محسوب می شود زیرا می تواند تأخیر را افزایش دهد. با این حال ، با توجه به نحوه عملکرد GITLAB ، بخش اعظم حافظه ای که اختصاص می یابد اغلب به آنها دسترسی پیدا نمی کند. استفاده از SWAP به برنامه اجازه می دهد تا به طور عادی اجرا و عملکردی داشته باشد و فقط هر از گاهی از SWAP استفاده کنید.

    • نحوه اضافه کردن فضای مبادله در اوبونتو 20. 04
    • نحوه اضافه کردن فضای مبادله در Centos 7

    پس از پیکربندی ، باید تأیید کنید که مبادله به درستی فعال شده است:

    رایگان

    آن را در جلسه فعلی پیکربندی کنید:

    sysctl vm. swappinessedit /etc/sysctl. conf برای دائمی کردن آن:
    vm. swappiness 

    در یک محیط محدود شده با حافظه ، باید در نظر بگیرید که کدام توزیع GitLab برای شما مناسب است.

    GitLab Enterprise Edition (EE) دارای ویژگی های قابل توجهی بیشتر از GitLab Community Edition (CE) است ، اما تمام این ویژگی های اضافی نیازهای محاسباتی و حافظه را افزایش می دهد.

    هنگامی که مصرف حافظه نگرانی اصلی است ، Gitlab CE را نصب کنید. همیشه می توانید بعداً به Gitlab EE ارتقا دهید.

    پوما را بهینه کنید

    احتیاط

    این یک ویژگی آلفای تجربی است و بدون اطلاع قبلی تغییر می کند. این ویژگی برای استفاده از تولید آماده نیست. اگر می خواهید از این ویژگی استفاده کنید ، توصیه می کنیم ابتدا با داده های غیر تولیدی آزمایش کنید. برای جزئیات بیشتر به موضوعات شناخته شده مراجعه کنید.

    GitLab به طور پیش فرض با پیکربندی اجرا می شود که برای رسیدگی به بسیاری از اتصالات همزمان طراحی شده است.

    برای تاسیسات کوچک ، که به توان زیادی احتیاج ندارند ، حالت خوشه ای PUMA را غیرفعال کنید. در نتیجه ، فقط یک فرآیند PUMA واحد در خدمت برنامه است.

    ما 100-400 مگابایت کاهش مصرف حافظه را پیکربندی PUMA از این طریق مشاهده کردیم.

    sidekiq را بهینه کنید

    Sidekiq یک Daemon پردازش پس زمینه است. هنگامی که با GitLab به طور پیش فرض پیکربندی شده است ، با یک حالت همزمانی بالای 50 اجرا می شود. این امر باعث تأثیر می شود که در یک زمان معین می تواند حافظه را تخصیص دهد. توصیه می شود آن را پیکربندی کنید تا از مقدار قابل توجهی کوچکتر از 5 یا 10 استفاده کنید (ترجیحی).

    Gitaly یک سرویس ذخیره سازی است که امکان دسترسی کارآمد به مخازن مبتنی بر GIT را فراهم می کند. توصیه می شود حداکثر همزمانی و محدودیت حافظه اعمال شده توسط Gitaly را پیکربندی کنید.

    GitLab به طور پیش فرض کلیه خدمات را قادر می سازد تا یک راه حل کامل DevOps را بدون هیچ پیکربندی اضافی ارائه دهند. برخی از خدمات پیش فرض ، مانند نظارت ، برای عملکرد GitLab ضروری نیستند و می توانند برای ذخیره حافظه غیرفعال شوند.

    ما 200 مگابایت کاهش مصرف حافظه را پیکربندی GitLab از این طریق مشاهده کردیم.

    پیکربندی کنید که چگونه Gitlab حافظه را کنترل می کند

    Gitlab از بسیاری از مؤلفه ها (که در Ruby و Go نوشته شده است) تشکیل شده است که ریل های Gitlab بزرگترین آن هستند و بیشترین حافظه را مصرف می کنند.

    Gitlab Rails از Jemalloc به عنوان تخصیص حافظه استفاده می کند. Jemalloc Prealocates حافظه را در تکه های بزرگتر که برای مدت طولانی تر نیز به منظور بهبود عملکرد برگزار می شود ، انجام می دهد. با هزینه برخی از دست دادن عملکرد ، می توانید GitLab را پیکربندی کنید تا حافظه را آزاد کند پس از آنکه دیگر به جای نگه داشتن آن برای مدت طولانی دیگر نیازی به آن نباشد.

    ما در هنگام اجرای برنامه ، استفاده از حافظه بسیار پایدار را مشاهده کردیم.

    نظارت اضافی در برنامه را غیرفعال کنید

    GitLab از ساختارهای داده داخلی برای اندازه گیری جنبه های مختلف خود استفاده می کند. در صورت غیرفعال بودن نظارت ، این ویژگی ها دیگر لازم نیست.

    1. به رابط وب Gitlab بروید.
    2. On the top bar, select Main menu>مدیر .
    3. On the left sidebar, select Settings>معیارها و پروفایل.
    4. معیارها را گسترش دهید - پرومتئوس.
    5. غیرفعال کردن معیارهای پرومتئوس.
    6. ذخیره تغییرات را انتخاب کنید.

    پیکربندی با تمام تغییرات

    اگر همه مواردی را که تاکنون شرح داده شده است ، استفاده کنید ، پرونده your /etc/gitlab/gitlab. rb باید حاوی پیکربندی زیر باشد:

    بعد از اینکه همه این تغییرات را انجام دادید ، GitLab را دوباره پیکربندی کنید تا از تنظیمات جدید استفاده کنید:
    Gitlab-CTL دوباره پیکربندی 

    نتایج عملکرد

    پس از استفاده از پیکربندی فوق ، می توانید انتظار استفاده از حافظه زیر را داشته باشید:

     کل مورد استفاده رایگان Buff/Cache موجود MEM: 1. 9GI 1. 7GI 151MI 31MI 132MI 102MI SWAP: 1. 0GI 153MI 870MI 

    کمک و بازخورد

    اسناد

    این صفحه را ویرایش کنید تا یک خطا برطرف شود یا در یک درخواست ادغام بهبود یابد. یک مسئله ایجاد کنید تا پیشرفت در این صفحه را پیشنهاد کنید. برای بررسی و بازخورد در مورد این صفحه نظرات را نشان داده و ارسال کنید.

    تولید - محصول

    اگر چیزی وجود دارد که در مورد این ویژگی دوست ندارید ، مسئله ای ایجاد کنید. با ارسال درخواست ویژگی ، عملکرد را پیشنهاد دهید. برای کمک به شکل دادن به ویژگی های جدید ، به نگاه اول بپیوندید.

    در دسترس بودن ویژگی ها و آزمایشات محصول

    قیمت گذاری را مشاهده کنید تا تمام ردیف ها و ویژگی های Gitlab یا به روزرسانی را ببینید. GitLab را به صورت رایگان با دسترسی به همه ویژگی ها به مدت 30 روز امتحان کنید.

    کمک بگیر

    اگر آنچه را که به دنبال آن بودید پیدا نکردید ، اسناد را جستجو کنید.

    اگر می خواهید در مورد چیز خاصی کمک کنید و می توانید از پشتیبانی جامعه استفاده کنید ، در انجمن GitLab ارسال کنید.

    برای مشکلات تنظیم یا استفاده از این ویژگی (بسته به اشتراک GitLab).

تجارت با گزینه‌‌های باینری...
ما را در سایت تجارت با گزینه‌‌های باینری دنبال می کنید

برچسب : نویسنده : نازنین فراهانی بازدید : 39 تاريخ : يکشنبه 8 مرداد 1402 ساعت: 14:36