Skip to main content

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.
Jika Anda mempertimbangkan untuk menggunakan sistem file berbasis NFS (Network File System) untuk instance kecil Anda, silakan lihat bagian ini di Troubleshooting.

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. Pelanggan yang melampaui batas satu server besar dapat melihat 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. 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.
Sebagai referensi, GitLab mengambil sikap serupa dengan tidak mendukung NFS/Amazon EFS pada penawaran self-managed-nya.

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 membatasi jumlah koneksi bersamaan yang akan diterima nginx per worker. Jumlah worker dikendalikan oleh pengaturan 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 (default 4)
  • NGINX_WORKER_CONNECTIONS untuk worker_connections (default 768)
  • NGINX_KEEPALIVE_TIMEOUT untuk keepalive_timeout (default 65)
    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 nginx-host, berikut dua contohnya:
  • Nilai default NGINX_KEEPALIVE_TIMEOUT, gunakan keepalive_timeout 60s (nilai default di upstream) pada nginx-host
  • Nilai kustom NGINX_KEEPALIVE_TIMEOUT=100s, gunakan keepalive_timeout 90s (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.
Last modified on October 4, 2026