Sobes.tech
Middle

Nginx'te hangi sınırlar var ve bunlar neyle ilişkili olabilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kaynakları kontrol etmek ve aşırı yüklenmeye karşı korumak için sınırlar kullanılır. Bunlar Nginx ayarları, işletim sistemi ve donanım sınırlamalarıyla ilişkilidir.

Ana sınır türleri:

  • Bağlantı sınırları: Aynı anda açık olan bağlantıların sayısını sınırlar.
  • İstek sınırları: İsteklerin işlenme hızını sınırlar.
  • Kaynak sınırları: CPU, bellek ve disk kullanımını sınırlar.

Yapılandırma örnekleri:

  • Bağlantı sayısını sınırlandırma:

    worker_connections 1024; // İşçi süreci başına maksimum bağlantı sayısı
    
  • İstek hızını sınırlandırma:

    http {
        server {
            location /rate_limited {
                limit_req zone=mylimit burst=5; // 1 saniyede 1 istek limiti, 5 isilik tampon
            }
        }
        limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s; // Sınır bölgesinin tanımı
    }
    
  • İstek gövdesi boyutunu sınırlandırma:

    http {
        client_max_body_size 1m; // Maksimum istek gövdesi boyutu 1MB
    }
    

İşletim sistemi ve donanımla ilişki:

  • DOSYA TANIMLAYICILARI: Nginx, her bağlantı için dosya tanımlayıcıları kullanır. İşletim sisteminin bunlar için bir sınırı vardır.
    # Mevcut sınırı görüntüle
    ulimit -n
    # Sınırı artır (mevcut oturum için)
    ulimit -n 65535
    
  • CPU/Bellek: Toplam kaynak miktarı, Nginx performansını ve ulaşılabilir sınırları etkiler.
  • Ağ: Ağ kapasitesi ve TCP/IP ayarları, bağlantıların sayısı ve hızını etkiler.

Sınır seçiminde etkili faktörler:

  • Beklenen yük: Kullanıcı sayısı, trafik tipi (statik/dinamik).
  • Sunucu kaynakları: Mevcut CPU, bellek, disk, ağ kapasitesi.
  • Uygulama tipi: İşleme hızı ve veri boyutu gereksinimleri.
  • Güvenlik hedefleri: DDoS saldırıları ve aşırı yüklenmeye karşı koruma.

Yük altında yapılandırmayı test etmek, en uygun sınır değerlerini belirlemek için önemlidir.