> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/id/memulai/requirements/hardware-requirements.md).

# Persyaratan perangkat keras

## Persyaratan perangkat keras

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

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

### Instalasi minimal

Persyaratan dasar minimum 2 core dan memori 3GB diperlukan untuk operasi dasar dengan sekitar 5 pengguna simultan. Persyaratan minimum ini juga akan cukup untuk kelompok yang lebih besar dengan penggunaan simultan yang lebih rendah, atau ketika boleh saja waktu kompilasi menjadi lebih lama saat penggunaan sedang tinggi.

{% hint style="danger" %}
Jika Anda mempertimbangkan menggunakan sistem berkas berbasis NFS (Network File System) untuk instance kecil Anda, silakan lihat bagian ini di [Pemecahan masalah](/on-premises/id/dukungan/troubleshooting.md) bagian.
{% endhint %}

### Penskalaan

Sebagai aturan praktis, untuk memberikan tingkat layanan yang tinggi dan konsisten, 1 core CPU dan 1GB memori sebaiknya ditambahkan ke instalasi minimal untuk setiap 5-10 pengguna simultan.

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

Banyak pelanggan kami ingin menerapkan Server Pro di seluruh organisasi, atau di seluruh tim besar. Dalam situasi tersebut, sulit bagi kami untuk memberi saran mengenai persyaratan penyiapan yang spesifik, karena kasus penggunaan dan perangkat keras yang tersedia bisa sangat bervariasi.

| Contoh 1                                                                                                                                                                                                                                                                                                                                                             | Contoh 2                                                                                                                                                                                                                                                                                                               |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Jika Anda menjalankan instalasi Server Pro untuk 300 pengguna total, dan secara rutin memperkirakan 30-60 dari pengguna tersebut akan melakukan kompilasi 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 penerapan yang lebih besar, instalasi Server Pro untuk 1.000 pengguna total telah berhasil disiapkan menggunakan satu server yang disediakan dengan dua prosesor 4-core dan memori sistem 32GB. Ini telah mencukupi kebutuhan tim selama setahun penggunaan terakhir. |

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

### Penyimpanan

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

Perilaku sistem berkas ini tidak memberikan performa dan keandalan yang diperlukan Server Pro saat dijalankan dalam skala besar. Ketika sistem berkas tidak mampu mengikuti beban, aplikasi akan terhenti karena terlalu banyak operasi IO yang memblokir. Hentian ini dapat menyebabkan kunci berbasis Redis melewati batas waktu, yang pada gilirannya dapat mengakibatkan data proyek rusak.

Kami menyarankan penggunaan [penyimpanan objek yang kompatibel dengan S3](/on-premises/id/memulai/what-is-the-overleaf-toolkit.md) sebagai gantinya. Performa S3 yang lambat hanya akan memengaruhi unggah/unduh file, yang hanya menyebabkan peningkatan jumlah koneksi terbuka ke penyedia S3 Anda dan pada gilirannya tidak memengaruhi perilaku bagian lain dari aplikasi. Selain itu, Server Pro dapat menentukan timeout yang wajar pada permintaan S3, yang tidak mungkin dilakukan untuk operasi sistem berkas/IO di tingkat aplikasi.

{% hint style="info" %}
Sebagai referensi, GitLab mengikuti sikap yang serupa, yaitu [tidak mendukung NFS/Amazon EFS](https://docs.gitlab.com/ee/administration/nfs.html) dalam penawaran yang dikelola sendiri.
{% endhint %}

### Konfigurasi khusus Nginx untuk penerapan skala 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 ini tercapai, editor mungkin tidak dapat terhubung, halaman editor mungkin tidak termuat sepenuhnya, dan permintaan kompilasi dapat gagal. Nginx akan mengembalikan respons status 500 dan mencatat `worker_connections tidak mencukupi saat menyambung ke upstream` ke `var/log/nginx/error`.log di dalam `sharelatex` container.

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

Nginx tidak terlalu banyak melakukan pekerjaan dibandingkan bagian sistem lainnya, jadi batas-batas ini berfungsi sebagai pengaman agar terlalu banyak koneksi tidak membebani sistem. Lebih baik menolak sebagian koneksi berlebih lebih awal daripada memperlambat semua koneksi.

Instance Overleaf Server mengekspos 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`)

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Saat menjalankan proxy lain di depan <code>sharelatex</code> container (mis. untuk terminasi TLS), <code>NGINX_KEEPALIVE_TIMEOUT</code> di instance Overleaf Server perlu lebih besar daripada proxy sebelumnya. Misalnya, dengan proses nginx lain di host Docker <strong>nginx-host</strong>, berikut dua contohnya:</p></div>
* 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) di **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) di **nginx-host**

### Kecepatan CPU

LaTeX adalah program dengan satu thread, artinya program ini hanya dapat menggunakan satu core CPU pada satu waktu. CPU juga merupakan batasan utama saat mengompilasi dokumen. Oleh karena itu, semakin cepat performa satu 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 bebas yang Anda miliki.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/id/memulai/requirements/hardware-requirements.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
