> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Persyaratan perangkat keras

## Persyaratan perangkat keras

Saat menyediakan perangkat keras untuk menjalankan Overleaf, faktor utama yang perlu dipertimbangkan adalah berapa banyak pengguna bersamaan yang akan menjalankan kompilasi.

Misalnya, jika Anda memiliki lisensi untuk total 100 pengguna, tetapi hanya memperkirakan \~5 pengguna yang bekerja pada saat yang sama, instalasi minimal sudah cukup. Jika Anda memperkirakan proporsi yang lebih tinggi bekerja (dan mengompilasi) secara bersamaan, Anda sebaiknya mempertimbangkan untuk menyediakan server dengan spesifikasi yang lebih tinggi.

### Instalasi minimal

Persyaratan dasar minimum berupa 2 core dan memori 3GB diperlukan untuk operasi dasar dengan sekitar 5 pengguna bersamaan. Persyaratan minimum ini juga akan cukup untuk kelompok yang lebih besar dengan penggunaan bersamaan yang lebih sedikit, atau jika waktu kompilasi yang lebih lama saat penggunaan tinggi masih dapat diterima.

<Danger>
  Jika Anda mempertimbangkan untuk menggunakan sistem file berbasis NFS (Network File System) untuk instance kecil Anda, silakan lihat bagian ini di [Troubleshooting](/id/on-premises/support/troubleshooting).
</Danger>

### Penskalaan

Sebagai patokan umum, untuk memberikan tingkat layanan yang tinggi dan konsisten, 1 core CPU dan memori 1GB perlu ditambahkan ke instalasi minimal untuk setiap 5-10 pengguna bersamaan.

Ini hanya boleh dijadikan panduan, karena faktor-faktor seperti ukuran dokumen pada umumnya (dokumen yang lebih besar menggunakan lebih banyak sumber daya kompilasi), seberapa sering pengguna mengompilasi, dan seberapa besar toleransi terhadap waktu kompilasi yang lebih lama saat penggunaan tinggi, semuanya memengaruhi tingkat penyediaan sumber daya yang dibutuhkan.

Banyak pelanggan kami ingin men-deploy Server Pro di seluruh organisasi, atau di seluruh tim besar. Dalam situasi tersebut, sulit bagi kami untuk memberikan saran tentang persyaratan penyiapan yang spesifik, karena kasus penggunaan dan perangkat keras yang tersedia bisa sangat beragam.

| Contoh 1 | Contoh 2 |
| - | - |
| Jika Anda menjalankan instalasi Server Pro untuk total 300 pengguna, dan secara rutin memperkirakan 30-60 di antaranya mengompilasi dokumen pada saat yang sama, 8GB dan 7 Core (5 core + 5GB + dasar 2 core & 3GB) seharusnya menyediakan sumber daya yang cukup agar pengguna Anda mendapatkan tingkat layanan yang tinggi secara konsisten. | Sebagai contoh persyaratan perangkat keras untuk deployment yang lebih besar, instalasi Server Pro untuk total 1.000 pengguna telah berhasil disiapkan menggunakan satu server dengan dua prosesor 4-core dan memori sistem 32GB. Konfigurasi ini telah mencukupi kebutuhan tim selama setahun terakhir penggunaan. |

Pelanggan yang melampaui batas satu server besar dapat melihat [Horizontal scaling](/id/on-premises/maintenance/horizontal-scaling) untuk Server Pro.

### Penyimpanan

Kami tidak menyarankan penggunaan Network File System (NFS)/Amazon EFS/Amazon EBS untuk penyimpanan proyek/riwayat pada penyiapan yang lebih besar dan secara tegas **tidak mendukungnya** untuk penskalaan horizontal.

Perilaku sistem file ini tidak memberikan kinerja dan keandalan yang dibutuhkan Server Pro saat berjalan dalam skala besar. Ketika sistem file tidak dapat mengimbangi beban, aplikasi akan macet karena terlalu banyak operasi IO yang memblokir. Kemacetan ini dapat menyebabkan lock berbasis Redis kedaluwarsa, yang pada gilirannya dapat mengakibatkan data proyek rusak.

Sebagai gantinya, kami menyarankan penggunaan [penyimpanan objek yang kompatibel dengan S3](/id/on-premises/getting-started/what-is-the-overleaf-toolkit). Kinerja S3 yang lambat hanya memengaruhi pengunggahan/pengunduhan file, yang hanya menyebabkan peningkatan jumlah koneksi terbuka ke penyedia S3 Anda dan tidak memengaruhi perilaku bagian aplikasi lainnya. Selain itu, Server Pro dapat menetapkan batas waktu (timeout) yang wajar pada permintaan S3, yang tidak mungkin dilakukan untuk operasi sistem file/IO di tingkat aplikasi.

<Info>
  Sebagai referensi, GitLab mengambil sikap serupa dengan [tidak mendukung NFS/Amazon EFS](https://docs.gitlab.com/ee/administration/nfs.html) pada penawaran self-managed-nya.
</Info>

### Konfigurasi khusus Nginx untuk deployment besar

Secara default, instance Overleaf Server membatasi jumlah koneksi hingga 768. Ini mencakup koneksi Websocket persisten, navigasi HTML tingkat atas, dan permintaan ajax. Setelah batas tercapai, editor mungkin tidak dapat terhubung, halaman editor mungkin tidak dimuat sepenuhnya, dan permintaan kompilasi dapat gagal. Nginx akan mengembalikan respons status 500 dan mencatat `worker_connections are not enough while connecting to upstream` ke `var/log/nginx/error`.log di dalam kontainer `sharelatex`.

Pengaturan [`worker_connections`](https://nginx.org/en/docs/ngx_core_module.html#worker_connections) membatasi jumlah koneksi bersamaan yang akan diterima nginx per worker. Jumlah worker dikendalikan oleh pengaturan [`worker_processes`](https://nginx.org/en/docs/ngx_core_module.html#worker_processes) dan diatur ke 4 secara default dalam konfigurasi nginx kami.

Nginx tidak melakukan banyak pekerjaan dibandingkan bagian lain dari sistem, sehingga batas-batas ini berfungsi sebagai pengaman yang mencegah terlalu banyak koneksi membebani sistem. Lebih baik menolak sebagian koneksi berlebih sejak awal daripada memperlambat setiap koneksi.

Instance Overleaf Server menyediakan variabel lingkungan untuk menyesuaikan pengaturan nginx ini:

* `NGINX_WORKER_PROCESSES` untuk [`worker_processes`](https://nginx.org/en/docs/ngx_core_module.html#worker_processes) (default `4`)
* `NGINX_WORKER_CONNECTIONS` untuk [`worker_connections`](https://nginx.org/en/docs/ngx_core_module.html#worker_connections) (default `768`)
* `NGINX_KEEPALIVE_TIMEOUT` untuk [`keepalive_timeout`](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout) (default `65`)

  <Info>Saat menjalankan proxy lain di depan kontainer `sharelatex` (misalnya untuk terminasi TLS), `NGINX_KEEPALIVE_TIMEOUT` pada instance Overleaf Server harus lebih besar daripada proxy sebelumnya. Misalnya, dengan proses nginx lain pada host Docker <strong>nginx-host</strong>, berikut dua contohnya:</Info>
* Nilai default `NGINX_KEEPALIVE_TIMEOUT`, gunakan [`keepalive_timeout 60s`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout) (nilai default di upstream) pada **nginx-host**
* Nilai kustom `NGINX_KEEPALIVE_TIMEOUT=100s`, gunakan [`keepalive_timeout 90s`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout) (nilai kustom di upstream) pada **nginx-host**

### Kecepatan CPU

LaTeX adalah program single-threaded, artinya hanya dapat menggunakan satu core CPU pada satu waktu. CPU juga merupakan batasan utama saat mengompilasi dokumen. Oleh karena itu, semakin cepat kinerja single-core CPU Anda, semakin cepat Anda dapat mengompilasi dokumen. Lebih banyak core hanya akan membantu jika Anda mencoba mengompilasi lebih banyak dokumen daripada jumlah core CPU yang tersedia.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.