FortiWeb- Performans İyileştirme

FortiWeb- Performans İyileştirme

FortiWeb cihazınızı ve özelliklerini konfigüre ettiğinizde daha iyi performans alabileceğiniz yani performans iyileştirme için uygulayabileceğiniz birkaç ince ayar ve uygulama bulunmaktadır. Bu yazımızda sizlere FortiWeb cihazınızda performans iyileştirme için neler yapabileceğinizi anlatacağız.

Sistem performansı

  • Kullanmadığınız policyleri silin veya devre dışı bırakın. FortiWeb, gerçekte aktif olarak kullanılıp kullanılmadığına bakmadan, her bir server policysi için bellek ayırır. Ek ilkelerin yapılandırılması gereksiz yere bellek tüketir ve performansı düşürür.
  • DNS sorgularından dolayı oluşan gecikmeyi azaltmak için, birincil DNS’niz olarak yerel ağınızda bir DNS sunucusu kullanın.
  • Ağınızın cihazları destekliyorsa, bir veya birden fazla VLAN arabirimi oluşturabilirsiniz. VLAN’lar, bir yayın domainin boyutunu ve ağ ana bilgisayarları tarafından alınan yayın trafiği miktarını azaltarak ağ performansını artırır. 
  • Sunucu havuzunda sunucu sağlık denetimi özelliğini etkinleştirdiyseniz ancak havuz üyelerinden biri uzun süredir çalışmıyorsa, sunucunun yanıt verme durumunu kontrol etmeye devam etmek için sunucu sağlık denetimine izin vermek yerine fiziksel sunucuyu devre dışı bırakın böylece FortiWeb cihazınızın performansını artırabilirsiniz. 
  • Saldırılardan korunmak için mümkün olan en kısa sürede en az yoğun taramayı kullanın.
  • Mümkünse, DoS koruma kuralları için Action ayarı olarak  Period Block kullanın . Bu ayar, FortiWeb’in bir DoS veya DDoS saldırısı sırasında yoğun talep gören tarama kaynaklarını korur.

Antivirüs performansı

  • Gerekli değilse BZIP2 taramasını devre dışı bırakın.
  • Tarama arabelleğini gereken minimum düzeye indirin.
  • FortiWeb’in tarayacağı gereksiz sıkıştırma düzeylerinin sayısını azaltın. Normalde, bir ZIP dosyasını bir ZIP dosyasının içine koyulması tercih edilmez, çünkü açılması uygun değildir. Ayrıca sıkıştırma oranı iyileştirmeleri sunmaz. İç içe sıkıştırma yapmak genellikle virüsler tarafından antivirüs tarayıcılarını atlamak için kullanılır.

Normal ifade performans tavsiyeleri

  • Mümkünse basit bir dize kullanın. Genel olarak, normal ifadeler yalnızca eşleşen tüm metni tanımlarken karmaşık bir kalıp gerektirdiğinde kullanılmalıdır. Aşağıdakiler gibi düzenli ifadeler:
    • ^.*/index.html$, genellikle, /index.html gibi bir değişmez dize karşılaştırmasından hesaplama açısından daha yoğundur.
  • Değerlendirme karmaşıklığını azaltın.
    • Kısa düzenli ifadelerin hesaplanması bazen daha karmaşık olabilmektedir. Normal ifadedeki karakter sayısını dikkate almayın. Bunun yerine, eşleşme dizesindeki hem olağan hem de olası en kötü ihtimali yani bir eşleşmenin doğrulanıp doğrulanmaması için kalıpla karşılaştırılması gereken maksimum karakter sayısı durumunu düşünün.
    • Olağan durum size ortalama CPU ve RAM yükünü gösterir. En kötü durum, normal ifadenizin bazen potansiyel askıda kalma benzeri koşullar ile sonuçlanıp sonuçlanmayacağını ve değerlendirmeyi bitirene kadar trafik akışını geçici olarak engelleyip engellemediğini bildirir.
    • Mümkün olan en kötü eşleşme dizesi kısaysa ve eşleşmesi karmaşık değilse, normal ifadeyi optimize etmek için zaman ayırmakla uğraşmayın.
    • Kaçırılan eşleşmeler kabul edilebilir bir performans dengesi ise (örneğin, vakaların %99’unu eşleştirmek verimli ancak vakaların %100’ünü eşleştirmek derin özyineleme gerektiriyorsa) veya tüm metni eşleştirme yapmaya gerek yoksa, normal ifadenin gereksiz parçalarını kaldırın.
    • Örneğin, bir telefon numarası her zaman 555-5555’e benziyorsa, normal ifadenizin sayıları bir boşlukla ayırdığı veya önüne bir ülke kodunun eklendiği durumları içermesine gerek yoktur. Kapsamı daha azdır, ancak aynı zamanda yoğun CPU daha azdır.
  • Geri izlemekten kaçının. Yani kalıbın bir kısmını eşleştiremediyseniz eşleşme dizesini tekrar ziyaret edin. Geri izleme, normal ifade özellikleri özyineleme kullandığında gerçekleşir. Bu, yürütme süresini katlanarak artırabilir. 
  • Belirsiz tekrarlarla iç içe parantezlerden kaçının, örneğin: ^((a+)b+)* özellikle uzun bir dize eşleşmezse, değerlendirilmesi fazla zaman alabilir, ancak bu durum en son karakter değerlendirilene kadar belirlenemez. Yukarıdaki örnekte, hem + ve * belirtme, potansiyel olarak sonsuz tekrar eden eşleşmeler, normal ifade motorunu mümkün olan en uzun eşleşmeyi bulana kadar veya RAM’i bitene kadar devam etmeye zorlar. Her ikisini de iç içe bir parantez içinde kullanmak sorunu daha da karmaşık hale getirir.
  • Yakalama gruplarını ve aşağıdakiler gibi geri referansları en aza indirin:
    • (/a)(/b)/(c)
    • $0$1\?user=$2
    • Geri referansları kullanmak için FortiWeb , yakalama gruplarıyla eşleşen metni bellekte tutmalıdır bu da RAM tüketimini artırır.
  • Alternatif eşleşme kalıpları kullanılıyorsa sıralama önemlidir. örneğin, birden çok kalıp bir boru (  |) ile birleştirilir. Nadir kalıpları ise sıralamada en sona koyun. Daha az olası kalıpları ilk sıraya koyarsanız, FortiWeb diziyi bulmadan önce çoğu kez değerlendirecektir. Sürekli değerlendirme, performansı önemli ölçüde azaltır. Tek karakterleri karşılaştırırken, aşağıdaki gibi karakter sınıflarını kullanın:
    • [abc] gibi alternatif eşleşmeler yerine(a|b|c) kullanın.
    • Kelime kelime değil, karakter kelime eşleştirin. Sözcükler aynı karakterlerle başlıyorsa, eşleşme dizesinin başlangıcını her olası sözcük için bir kez olmak üzere birden çok kez değerlendirmek verimli değildir. Örneğin, “the”, “then”, “this” ve “these” sözcüklerini eşleştirmek için bu ifadenin okunması kolaydır, ancak ilk iki karakteri (“th”) 4 defaya kadar değerlendirdiği için verimsizdir:
    • \b(this|the|then|these)\b karakterlerinin okuması daha zor olsa da böylece ifade performansı artar, “th”yi bir kez değerlendirir ve daha az olası kelimeleri dikkate almadan önce İngilizce’deki en yaygın kelime (“the”) ile eşleşir: \bth(e(n|se)|is)\b
  • Aşağıdakiler gibi iç içe niceleyicileri azaltın:
    • (abc)+
    • (abc){1,6}
      En kötü durum değerlendirmeleri, hesaplama süresini doğrusal olarak değil, katlanarak artırır. Bu da daha fazla RAM tüketir. Bu durumdan kaçınmak için mümkün olan en küçük tekrarı veya alternatif bir ifade kullanın.
  • /p{Nd} Bunun yerine bir karakter sınıfı kullanabiliyormuşsunuz gibi Unicode karakter özelliklerinden kaçının. Unicode’daki olası eşleşmelerin çok büyük sayıları ve karmaşıklığından dolayı, bunlar ciddi boyutta daha yavaş olabilir.
  • Aşağıdakiler gibi ileriye dönük maç koşullarından kaçının:
    • ?!abcdefge?=abcdefge gibi. Bunu yapmak için FortiWeb’in ek hesaplamalar yapması gerekir. FortiWeb ayrıca bunu yaparken orijinal olarak tüketilen eşleşme dizesini bellekte tutmalıdır sonuç olarak bu da RAM tüketimini artırır.

Loglama performansı

  • Bir FortiAnalyzer’ınız varsa, FortiWeb’in kendi sabit disklerine log yazmakla ilişkili kaynak kullanımını önlemek için FortiWeb’in loglarını FortiAnalyzer’da saklayın. 
  • Bir trafik günlüğüne ihtiyaç duymuyorsanız, sistem kaynaklarının kullanımını azaltmak için bu özelliği devre dışı bırakın. 
  • Tekrarlayan log mesajlarını azaltın. İlk oluşumun ardından aynı durum sürerse, e-postaların gönderileceği aralığı tanımlamak için uyarı e-postası ayarlarını konfigüre edin.
  • Bilgi veya bildirim gibi düşük önemde eşikler kullanarak log mesajlarını uzun süre yerel sabit diske kaydetmemeye çalışın. Aşırı log kaydı sıklığı, sistem kaynaklarını tüketir bu yüzden sabit diskte aşırı aşınmaya neden olabilir ve erken arızaya neden olabilir.

Rapor performansı

Rapor oluşturmak kaynağı yoğunlaştırabilir. Performans etkilerinden kaçınmak için, gece ve hafta sonları gibi trafik hacminin düşük olduğu zamanlarda rapor oluşturacak şekilde planlayın. 

Çoğu raporun log mesajlarına dayandığını unutmayın. Log performansıyla ilgili tüm uyarılar da rapor performansında geçerlidir.

Güvenlik açığı tarama performansı

Güvenlik açığı taraması performansı, ağınızın hızına ve güvenilirliğine bağlı olduğu gibi konfigürasyonunuzdan da etkilenebilir. 

Paket yakalama performansı

Paket yakalama, sorun gidermede yararlı olsa da kaynak yoğun olabilir. FortiWeb cihazınız üzerindeki performans etkisini en aza indirmek için paket yakalamayı yalnızca trafiğin minimum olduğu dönemlerde kullanın. Telnet veya SSH CLI bağlantısı yerine yerel konsol CLI bağlantısı kullanın ve işiniz bittiğinde komutu durdurduğunuzdan emin olun. 

TCP iletim performans ayarı

FortiWeb , yüksek bant genişliğine sahip, yüksek gecikmeli ağlar üzerinden CLI aracılığıyla TCP bağlantılarının arabellek parametresini ayarlayarak TCP aktarım performansını ayarlamanızı sağlar. FortiWeb ve back-end sunucuları arasındaki büyük boyutlu dosya aktarımları veya ciddi trafik sıkışıklığı , istemcilerin düşük TCP performansı yaşamasına neden olur.

Sistem ağ seçeneğindeki tcp-buffer seçeneği, FortiWeb’e TCP yığınının bellek kullanımıyla ilgili olarak nasıl davranması gerektiğini belirtmek için TCP_mem değişkenini tanımlar. Üç değerden oluşur ve değerler bellek sayfalarında ölçülür. Bunlar;

  • low: Bu değer, istenen düşük bellek kullanım eşiği için performans değerini gösterir. Bu noktanın altında, TCP yığını, soketler için TCP alma ve gönderme arabellekleriyle etkileşim kurarak bellek kullanımını ayarlamaz.
  • Pressure: Bu değer, FortiWeb’e bellek kullanımını düşürmeye başlaması gereken noktayı gösterir. Bu süreç bellek kullanımı alt eşiğe girene kadar devam eder ve düşük eşiğin varsayılan davranışını da korur. Bu aşağı yönlü basınç, düşük eşik performansı korunana kadar soketler için TCP alma ve gönderme arabelleklerini ayarlayarak uygulanır.
  • High: Bu değer, FortiWeb’in kullanabileceği maksimum bellek sayfalarını gösterir. Bu değere ulaşılırsa, FortiWeb yeniden daha az bellek sayfası kullanmaya başlayana kadar TCP akışları ve paketleri bırakılır.

CLI’den tcp-buffer seçeneğini varsayılan, yüksek veya maksimum olarak ayarlamak, FortiWeb’e aşağıdaki gibi üç değeri belirtir: (default, high ve max durumdayken yapmanız gerekenler)

1. tcp-buffer=default, (low, pressure, high) = (16384, 32768, 65536)

2. tcp-buffer=high, (low, pressure, high) = (16384, 87380, 629145)

3. tcp-buffer=max, (low, pressure, high) = (16384, 174760, 1258290)

tcp-buffer seçeneğinin yüksek bant genişliğine sahip ağlarda verimde bir artış sağlayabilir. Ancak unutmayın ki, FortiWeb’de kurulan eşzamanlı TCP bağlantılarının sayısını da azaltacaktır.

config system network-option

set tcp-buffer high

end

İlginizi Çekebilecek Makaleler​

LLM (Large Language Models) Nedir?

Günümüzde yapay zeka ve makine öğrenmesi, teknolojinin birçok alanında devrim niteliğinde ilerlemeler kaydetmiştir. Bu ilerlemelerin merkezinde yer alan büyük dil modelleri (LLM – Large Language

Devamı »
Message Broker Nedir?

Message broker, birçok farklı uygulama veya sistem arasında iletişim kurmak için kullanılan bir yazılım aracıdır. Bu araç, bir uygulama tarafından gönderilen mesajları bir veya daha

Devamı »
Loglama Nedir?

Loglama, bilgisayar sistemlerindeki olayları, hataları ve diğer önemli durumları kaydetme işlemidir. Bu kayıtlar, sistem yöneticileri ve geliştiriciler tarafından, sistemlerin işleyişini anlamak, hataları tespit etmek ve

Devamı »
Vcenter Üzerinden ESXI Upgrade’i Nasıl Yapılır?

Öncelikle herkese merhaba arkadaşlar, sizlere Vcenter üzerinde ESXI hostunuzu nasıl upgrade edeceğinizi anlatacağım. Öncelikle hangi versiyona yükselteceksek o versiyonun ISO dosyasını indiriyoruz. Ardından Vcenter’ımızı açıyoruz.

Devamı »