Optimizasyon Sistemi-Linux Kernel Optimizasyonu

Genel Bakış

Sözde Linux sunucu çekirdeği parametresi optimizasyonu (Apache, Nginx, Squid vb. Gibi çeşitli web uygulamaları için uygundur, özel işlerin biraz ayarlanması gerekebilir), esas olarak Linux sistemindeki iş hizmeti uygulamaları için sistem çekirdeği parametre ayarlaması ve optimizasyonunu ifade eder. Belli bir standart yok.

Aşağıda, çekirdek optimizasyonuna iki bölümlük bir giriş yer almaktadır. İlk bölüm esas olarak çekirdek yapılandırma dosyası hakkında konuşmaktadır. İhtiyaçlarınıza göre bir seçim yapabilirsiniz. İkinci bölüm, yalnızca referans olarak, yüksek basınç ölçümü eşzamanlılığı sırasında sıklıkla yaptığım bazı çekirdek optimizasyonlarıdır.

Bir, çekirdek yapılandırma dosyası

1. tcp soketleri açısından

# FIN-WAIT-2 durumunda süreyi koruyun, böylece sistem daha fazla bağlantıyı idare edebilir. Bu parametrenin değeri bir tam sayıdır ve birimi saniyedir.

net.ipv4.tcp_fin_timeout = 2

# Yeniden kullanımı etkinleştirin, TIME_WAIT soketinin yeni TCP bağlantıları için kullanılmasına izin verin. Varsayılan 0'dır, bu da kapalı anlamına gelir.

net.ipv4.tcp_tw_reuse = 1

# TCP bağlantısında TIME_WAIT soketinin hızlı kurtarılmasını etkinleştirin. Varsayılan değer 0'dır, bu da kapalı olduğu anlamına gelir.

net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syn_retries = 1

# SYN tanımlama bilgisini etkinleştirin ve az sayıda SYN saldırısını önlemek için SYN bekleme kuyruğu taştığında tanımlama bilgisi işlemeyi etkinleştirin. Varsayılan 0'dır, bu da kapalı anlamına gelir.

net.ipv4.tcp_syncookies = 1

# 1024'e önceden ayarlanmış SYN kuyruğunun uzunluğunu gösterir. Burada, daha fazla bekleyen bağlantı için kuyruk uzunluğu 262144'e ayarlanmıştır.

net.ipv4.tcp_max_syn_backlog = 262144

# Sistem aynı anda maksimum TIME_WAIT soket sayısını tutar.Bu sayı aşılırsa hemen silinir ve bir uyarı mesajı verilir. Varsayılan değer 180000'dür. Squid için efekt çok iyi değil, ancak TIME_WAIT soketinin maksimum değeri, squid sunucusunun sürüklenmesini önlemek için kontrol edilebilir.

net.ipv4.tcp_max_tw_buckets = 5000

# Sistemdeki herhangi bir kullanıcı dosyası tanıtıcısı ile ilişkilendirilmemiş maksimum TCP soket sayısını gösterir. Burada ayarlanan sayı aşılırsa, bağlantı sıfırlanacak ve bir uyarı mesajı çıkacaktır. Bu kısıtlama yalnızca basit DoS saldırılarını önlemek içindir. Bu değer çok küçük olamaz.

net.ipv4.tcp_max_orphans = 16384

# TCP maksimum arabellek boyutunu artırın

net.ipv4.tcp_rmem = 4096873804194304 net.ipv4.tcp_wmem = 4096163844194304

2. Kalıcı yön

#keepalived Etkinleştirildiğinde TCP tarafından gönderilen tutulan iletilerin yazımı. Varsayılan 2 saattir.

net.ipv4.tcp_keepalive_time = 600

#TCP, bağlantının kaç kez kesildiğini belirlemek için canlı tutma araştırmaları gönderir. Bu değer duruma göre uygun şekilde kısaltılabilir.

net.ipv4.tcp_keepalive_probes = 5

# Yoklama mesajlarının gönderilme sıklığı, yoklama başladığından beri yanıt vermeyen bağlantıları sonlandırma zamanını almak için tcp_keepalive_probes ile çarpılır. Varsayılan değer 75 saniyedir; bu, yaklaşık 11 dakika sonra hiçbir etkin bağlantının kesilmeyeceği anlamına gelir. Sıradan uygulamalar için bu değer biraz fazla büyüktür ve gerektiğinde azaltılabilir, özellikle web sunucuları için bu değerin azaltılması gerekmektedir.

net.ipv4.tcp_keepalive_intvl = 15

3. Bağlantı Noktaları

# Harici bağlantılar için bağlantı noktası aralığını belirtin. Varsayılan değer 3276861000'dir.

net.ipv4.ip_local_port_range = 102465000

# Sistemdeki her bağlantı noktasının maksimum dinleme kuyruğu uzunluğunu tanımlar.Yeni bağlantıları sık sık işleyen yüksek yüklü bir web hizmeti ortamı için varsayılan değer 128'dir ve bu çok küçüktür.

net.core.somaxconn = 16384

# Her ağ arayüzünde veri paketlerini alma hızı, çekirdeğin bu paketleri işleme hızından daha yüksek olduğunda kuyruğa gönderilmesine izin verilen maksimum veri paketi sayısını gösterir.

net.core.netdev_max_backlog = 16384

# Güçlendirme saldırılarından kaçının

net.ipv4.icmp_echo_ignore_broadcasts = 1

Not: Değişiklik yürürlüğe girer

vi /etc/sysctl.conf

Yapılandırma, uygun parametreler eklendikten sonra yürürlüğe girer

sysctl -p

İki, basınç testi ayar parametresi referansı

# Beklemeye izin verin, sistemdeki maksimum soket bağlantısı sayısını ayarlayın

echo 50000 > / proc / sys / net / core / somaxconn

#tcpconnection hızlı kurtarma: 0-tcp kurtarmayı hızlandırmayın 1-tcp kurtarmayı hızlandırın

yankı 1 > / proc / sys / net / ipv4 / tcp_tw_recycle

# tcp bağlantısının yeniden kullanımı: 0- boş tcp geri dönüşümünü etkinleştirmeyin 1- boş tcp geri dönüşümü

yankı 1 > / proc / sys / net / ipv4 / tcp_tw_reuse

# Sel saldırısına direnmeyin: 0-Sel saldırı direncini kaldırın 1-Sel saldırısı direncini etkinleştirin

yankı 0 > / proc / sys / net / ipv4 / tcp_syncookies

# Sistemdeki maksimum dosya erişimi sayısını ayarlayın

echo "ulimit -n 50000" > > / etc / profile kaynak / etc / profil

# Maksimum kullanıcı işlemi sayısını ayarlayın

vi /etc/security/limits.conf

oracle soft nproc 16384 oracle sert nproc 16384

İşte bu kadar Linux çekirdeğinin optimizasyonu için.İhtiyaçlarınıza göre seçimler yapabilirsiniz.Özellikle sistem yüksek eşzamanlılık hizmetlerine sahip olduğunda optimizasyonu uygun şekilde yapmayı düşünebilirsiniz.

Optimizasyon sistemi hakkında daha sonra daha fazlasını paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir! !

Mitsubishi PLC analog giriş modülü programlama ve kullanım durumu analizi
önceki
Millet merkezi 140.000 lüks bir Noel ağacının açılışını yaptı Netizenler: Çok güzel, bir dal kır ve koş!
Sonraki
Nagami Ryokan bir mobil ifade paketi haline geldi ve bunun nedeni göz çiziminin başarısızlığı. Koitoyu öğrenmeye değer
Bir gecede, arkadaş çevrenizdeki tüm satın alma ajanları ruh ressamı mı oldu?
Pazar avantajları! Python Classic - Python tarayıcı geliştirme ve gerçek paylaşım projelendirme
Apple çıldırıyor, iOS jailbreak'in şafağı yeniden ortaya çıktı ve pek çok sürpriz var!
Tomo Okazaki gibi eve dönmek zor. Ukailu ideal hayatını buldu.
Elektrikli öğrenmek istiyorsanız, bu yüksek çözünürlüklü dinamik resimler, elektrikli bileşenlerin çalışma prensibini anlamanıza yardımcı olabilir.
Üretim ortamındaki oracle parolasının süresi dolmak üzereyken ancak değiştirmek istemiyorsam ne yapmalıyım?
Birçok yıllık ilk on cep telefonu listesinde seçildi! Bu yerli markanın tanınırlığı Samsung ve Apple'ınkine yakın!
Jailbreak eklentisi: Hava ve sıcaklık bilgilerinin doğrudan kilit açma ekranında görüntülenmesine izin verin!
Ya Juyan hizmetçi kariyerini Konoe Subaru kadar seviyor, Takanashi Misha böyle bir sonucu kabul etmek istemiyor
Motor sürüklemeyi öğrenmek ister misiniz? Önce bu motor kontrol devre şemalarına bir göz atın!
Süper pratik saklı prosedür - ASSM tipi tablonun blok kullanımını görüntüleyin:
To Top