Skip to main content

Donanım gereksinimleri

Overleaf’i çalıştırmak için donanım hazırlarken dikkate alınması gereken ana etken, aynı anda kaç kullanıcının derleme yapacağıdır. Örneğin toplam 100 kullanıcılık bir lisansınız varsa ancak aynı anda yalnızca ~5 kullanıcının çalışmasını bekliyorsanız, minimum kurulum yeterli olacaktır. Daha yüksek oranda kullanıcının eşzamanlı çalışmasını (ve derleme yapmasını) bekliyorsanız, daha yüksek özelliklere sahip bir sunucu hazırlamayı düşünmelisiniz.

Minimum kurulum

Yaklaşık 5 eşzamanlı kullanıcıyla temel işlemler için en az 2 çekirdek ve 3GB bellek gerekir. Bu minimum gereksinim, eşzamanlı kullanımın daha az olduğu veya yoğun kullanım sırasında derleme sürelerinin uzamasının kabul edilebilir olduğu daha büyük gruplar için de yeterli olacaktır.
Küçük örneğiniz için NFS (Network File System) tabanlı bir dosya sistemi kullanmayı düşünüyorsanız, lütfen Sorun Giderme bölümündeki ilgili kısma göz atın.

Ölçeklendirme

Genel bir kural olarak, yüksek ve tutarlı bir hizmet düzeyi sağlamak için her 5-10 eşzamanlı kullanıcı başına minimum kuruluma 1 CPU çekirdeği ve 1GB bellek eklenmelidir. Bu yalnızca bir kılavuz olarak ele alınmalıdır; çünkü tipik belgelerin boyutu (büyük belgeler daha fazla derleme kaynağı tüketir), kullanıcıların ne sıklıkla derleme yaptığı ve yoğun kullanım sırasında uzun derleme sürelerine ne kadar tolerans gösterildiği gibi etkenlerin tümü gereken kaynak düzeyini etkiler. Müşterilerimizin çoğu Server Pro’yu kuruluş genelinde veya büyük ekipler arasında dağıtmak ister. Bu tür durumlarda, kullanım senaryoları ve mevcut donanım oldukça çeşitli olabileceğinden, belirli kurulum gereksinimleri konusunda tavsiyede bulunmamız zordur. Tek bir büyük sunucunun sınırlarını aşan müşteriler, Server Pro için Yatay ölçeklendirme sayfasına göz atabilir.

Depolama

Daha büyük kurulumlarda proje/geçmiş depolaması için Network File System (NFS)/Amazon EFS/Amazon EBS kullanılmamasını öneririz ve yatay ölçeklendirme için bunu açıkça desteklemiyoruz. Bu dosya sistemlerinin davranışı, Server Pro’nun yüksek ölçekte çalışırken ihtiyaç duyduğu performansı ve güvenilirliği sağlamaz. Dosya sistemi yüke yetişemediğinde, uygulama çok sayıda engelleyici IO işlemi nedeniyle takılır. Bu takılmalar Redis tabanlı kilitlerin süresinin aşılmasına yol açabilir ve bu da proje verilerinin bozulmasına neden olabilir. Bunun yerine S3 uyumlu nesne depolama kullanmanızı öneririz. Yavaş S3 performansı yalnızca dosyaların yüklenmesini/indirilmesini etkiler; bu da yalnızca S3 sağlayıcınıza açık bağlantı sayısının artmasına yol açar ve uygulamanın geri kalanının davranışını etkilemez. Ayrıca Server Pro, S3 istekleri için makul zaman aşımları belirleyebilir; bu, uygulama düzeyinde dosya sistemi/IO işlemleri için mümkün değildir.
Referans olarak, GitLab da kendi kendine yönetilen sürümünde NFS/Amazon EFS’yi desteklememe yönünde benzer bir tutum izlemektedir.

Büyük dağıtımlar için Nginx’e özgü yapılandırma

Varsayılan olarak Overleaf Server örneği bağlantı sayısını 768 ile sınırlar. Buna kalıcı Websocket bağlantıları, üst düzey HTML gezinmeleri ve ajax istekleri dahildir. Sınıra ulaşıldığında editör bağlanamayabilir, editör sayfası tamamen yüklenmeyebilir ve derleme istekleri başarısız olabilir. Nginx 500 durum kodlu yanıtlar döndürür ve sharelatex konteyneri içindeki var/log/nginx/error.log dosyasına worker_connections are not enough while connecting to upstream kaydını yazar. worker_connections ayarı, nginx’in worker başına kabul edeceği eşzamanlı bağlantı sayısını sınırlar. Worker sayısı worker_processes ayarıyla kontrol edilir ve nginx yapılandırmamızda varsayılan olarak 4’e ayarlanmıştır. Nginx, sistemin diğer bölümlerine kıyasla çok fazla iş yapmaz; bu nedenle bu sınırlar, çok fazla bağlantının sistemi bunaltmasını önleyen bir güvenlik önlemi işlevi görür. Her bağlantıyı yavaşlatmak yerine fazla bağlantıların bir kısmını erkenden reddetmek tercih edilir. Overleaf Server örnekleri, bu nginx ayarlarını düzenlemek için ortam değişkenleri sunar:
  • worker_processes için NGINX_WORKER_PROCESSES (varsayılan 4)
  • worker_connections için NGINX_WORKER_CONNECTIONS (varsayılan 768)
  • keepalive_timeout için NGINX_KEEPALIVE_TIMEOUT (varsayılan 65)
    sharelatex konteynerinin önünde başka bir proxy çalıştırırken (ör. TLS sonlandırma için), Overleaf Server örneğindeki NGINX_KEEPALIVE_TIMEOUT değeri önceki proxy’ninkinden büyük olmalıdır. Örneğin Docker ana makinesinde nginx-host adlı başka bir nginx süreci varsa, iki örnek şöyledir:
  • Varsayılan NGINX_KEEPALIVE_TIMEOUT değeriyle, nginx-host içinde keepalive_timeout 60s (upstream’deki varsayılan değer) kullanın
  • Özel NGINX_KEEPALIVE_TIMEOUT=100s değeriyle, nginx-host içinde keepalive_timeout 90s (upstream’deki özel değer) kullanın

CPU hızı

LaTeX tek iş parçacıklı bir programdır; yani aynı anda yalnızca bir CPU çekirdeğini kullanabilir. Bir belge derlenirken asıl sınırlayıcı etken de CPU’dur. Bu nedenle CPU’nuzun tek çekirdek performansı ne kadar yüksekse belgeleri o kadar hızlı derleyebilirsiniz. Daha fazla çekirdek, yalnızca boşta olan CPU çekirdeği sayınızdan daha fazla belgeyi aynı anda derlemeye çalışıyorsanız yardımcı olur.
Last modified on October 4, 2026