Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Nginx'te Dynamic TLS Record Sizing ile SSL/TLS El Sıkışma Sürelerini Optimize Etme

codexor

Üye
Katılım
14 Mart 2026
Mesajlar
44
Merhaba arkadaşlar, bugün sizlere özellikle yüksek gecikmeli (high latency) bağlantılarda, örneğin mobil kullanıcılar veya uzak coğrafyalardan gelen ziyaretçiler için SSL/TLS performansını gözle görülür şekilde artırabileceğiniz bir optimizasyondan bahsedeceğim: Dynamic TLS Record Sizing.

Bu yöntem, Nginx'in TLS kayıt boyutunu sabit tutmak yerine bağlantının durumuna göre dinamik olarak ayarlamasını sağlar. Amacı, özellikle ilk TLS el sıkışması sırasında oluşan gecikmeyi (Round Trip Time - RTT) azaltarak sayfanın daha hızlı yüklenmeye başlamasını (Time To First Byte - TTFB) sağlamaktır. Benim yönettiğim sunucularda, özellikle global trafik alan sitelerde bu ayarı mutlaka yaparım.

🔍 Optimizasyonun Arkasındaki Mantık

Normalde TLS, veriyi şifreleyerek "kayıtlar" (records) halinde gönderir. Varsayılan olarak bu kayıtların boyutu maksimum (örneğin ~16KB) olabilir. Yüksek gecikmeli bir bağlantıda, büyük bir ilk kaydın gönderilip onay alınması (1 RTT) beklenir. Dynamic TLS Record Sizing ise ilk el sıkışma sırasında kayıt boyutunu küçük (örneğin 1.3KB gibi) tutar. Bu sayede daha küçük paketler daha hızlı gidip gelir ve el sıkışma sürecindeki "bekleme" turu azalır. El sıkışma tamamlandıktan sonra ise kayıt boyutu otomatik olarak normale döner ve verimlilik korunur.

⚙️ Nginx'te Dynamic Record Sizing'ı Aktif Etme

Bu optimizasyon, Nginx 1.19.4 ve üzeri sürümlerde `ssl_conf_command` direktifi ile desteklenmektedir. Yapmanız gereken, SSL sunucu bloğunuzun içine (genellikle `server { ... }` bloğu) aşağıdaki satırı eklemek.

Öncelikle, Nginx yapılandırma dosyanızı düzenlemek için bir editörle açalım. Benim tercihim nano, siz kendinize göre değiştirebilirsiniz.

Bash:
sudo nano /etc/nginx/sites-available/siteniz.com

Ya da ana Nginx konfigürasyon dosyası:

Bash:
sudo nano /etc/nginx/nginx.conf

İlgili `server` bloğunuzun içinde, `listen 443 ssl;` satırlarından sonra, diğer SSL direktiflerinizin (örneğin `ssl_certificate`) yanına şu satırı ekleyin:

NGINX:
server {
    listen 443 ssl http2;
    server_name siteniz.com;

    ssl_certificate /etc/ssl/certs/siteniz.crt;
    ssl_certificate_key /etc/ssl/private/siteniz.key;

    # Dynamic TLS Record Sizing Optimizasyonu
    ssl_conf_command Options KTLS;
    ssl_conf_command Options PrioritizeChaCha;
    ssl_conf_command Options EnableDynamicRecordSizing;
    ...
}

⚠️ Dikkat Edilmesi Gerekenler

Nginx Sürümü: Bu komutların çalışması için Nginx 1.19.4 veya daha yeni bir sürüm kullanıyor olmalısınız. Sürümünüzü kontrol etmek için `nginx -v` komutunu çalıştırabilirsiniz.
OpenSSL: Nginx'inizin, bu özellikleri destekleyen bir OpenSSL sürümü (1.1.1 veya üzeri) ile derlenmiş olması gerekir. Bu genellikle modern dağıtımlarda varsayılandır.
Test Etmek Zorunlu! Bu ayarı yaptıktan sonra Nginx konfigürasyonunuzun doğruluğunu MUTLAKA test edin:

Bash:
sudo nginx -t

Eğer "syntax is ok" ve "test is successful" mesajlarını alırsanız, Nginx'i yeniden başlatabilirsiniz:

Bash:
sudo systemctl reload nginx  # veya sudo service nginx reload

Performans Testi: Ayarları yaptıktan sonra, özellikle yüksek gecikme simülasyonu yaparak (örneğin Chrome DevTools'tan "Slow 3G" seçeneği ile veya `tc` komutu ile) TTFB sürelerinizi ölçmenizi tavsiye ederim. Gözle görülür bir iyileşme olacaktır.

📈 Optimizasyon Sonrası ve Son Sözler

Bu optimizasyon, sunucu tarafında yapılan küçük ama etkili bir ayardır. Kullanıcı tarafında herhangi bir değişiklik gerektirmez. Özellikle e-ticaret, haber portalı veya dünyanın her yerinden kullanıcısı olan global siteler için performans kazancı çok değerlidir.

Unutmayın, performans optimizasyonu bütünsel bir iştir. Dynamic TLS Record Sizing, `ssl_buffer_size` ayarı, HTTP/2, doğru cipher suite seçimi ve önbellekleme stratejileri ile birlikte düşünülmelidir.

Peki siz bu optimizasyonu daha önce duymuş muydunuz? Kendi sunucularınızda TLS performansı için hangi ayarları yapıyorsunuz? Tecrübelerinizi ve sorularınızı aşağıdaki yorumlarda paylaşabilirsiniz, birlikte tartışalım.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri