30 Mayıs 2010 Pazar

Refactoring Nedir?


Yazılımda “Refactoring” yeniden düzenleme anlamına gelmektedir. Başka bir deyişle, yazılım davranışını değiştirmeden kodun karmaşıklığını azaltmak, okunabilirliğini arttırmak, çıkabilecek hataların düzeltilmesini ve ileride koda yapılabilecek eklentileri kolaylaştırmak için uygulanan bir işlemdir.

Çevik yazılım geliştirme sürecinde yeniden düzenlemenin önemli bir yeri vardır. Kodlama süresince belli aralıklarla yapılacak yeniden düzenlemeler, yazılımcının kodu daha rahat, hatasız, hızlı tamamlamasına olanak sağlar.
Öncelikle şunu belirtmemizde fayda var. “Yeniden düzenleme” yapmadan önce, düzenlemelerin yapılacağı kod bloklarının tespit edilmesi ve birim testlerinin oluşturulması gerekmektedir. Düzenlemenin temel amacında, yazılımın genel davranışında herhangi bir değişiklik yapılmaması vardır. Dolayısıyla Public fonksiyonlar ve/veya sınıfların giriş çıkış parametrelerinin değişmeyeceğini kabul etmeliyiz. Böylece, kodun yeniden düzenlenmeden önceki oluşturulan birim testlerini düzenleme yaptıktan sonra da uygulayabiliriz.






Yeniden düzenleme tekniklerine kısaca değinmek gerekirse;




  • Daha fazla soyutlama gerektiren teknikler
    • Alanlara erişimin getter/setter yordamlarla yapılması (veya özellik sahaların kullanılması).
    • Tiplerin genelleştirilmesi (Generic types).
    • Mantıksal kontrollerin kalıtım yapısı ile değiştirilmesi (polymorphism).
    • Tip belirteçlerinin nesnelere dönüştürülmesi (State/Strategy).

  • Kodu daha fazla mantıksal parçalara ayıran teknikler
    • Uzun ve karmaşık yordamların daha küçük yordamlara parçalanması (Method extraction).
    • Kodun bazı parçalarının farklı bir sınıfa taşınması (class extraction).

  • Kodlamada kullanılan isim ve isim uzaylarının değiştirilmesi / geliştirilmesi
    • Yordam ve/veya alanların farklı bir sınıfa veya kaynak koda taşınması.
    • Yordam ve/veya alan isimlerinin değiştirilmesi, dolayısıyla okunabilirliğin arttırılması.
    • Nesnel programlamada, kodun bir üst veya alt sınıfa taşınması.

Eğer kullanıcı arabirimleri katmanında yeniden düzenleme ihtiyacı varsa, bu katmanda birim testleri uygulayamazsınız. Bu durumda testlerin manüel yapılması gerekmektedir. Dolayısıyla, tasarımınızda kullanıcı ara yüzü seviyesinde mantıksal algoritmalar varsa öncelikle bu yapının değişmesi, algoritmaların ara bir katmana alınması ve dolayısıyla ara yüz katmanının arındırılması gerekir.
Ali KALFAOĞLU

11 Mayıs 2010 Salı

Network İzleme (Network Monitoring)

Network izleme programları network kartına gelen tüm paketleri izleyebilmemize olanak sağlar. Normalde network üzerinden alınan bilgiler belirli protokoller yardımı ile frameler yani küçük paketler bazında iletilir. Frame; kaynak ve hedef bilgisayarlarının adresi, protokol bilgileri ve veriden oluşmaktadır. Network izleme programları bu paketlerin hangi protokole ait olduğunu anlayabilir ve bu paketlerin karakteristiğine göre parse edebilir.
Bu makalede network izlemede kullanılabilir güçlü bir programdan bahsedeceğiz. Microsoft Network Monitoring 3.3 programı ile bilgisayarınızda bulunan herhangi bir network kartı izlenebilmektedir. Bu program sayesinde paketlerin izleme kayıtlarını kaydedilebilir, analiz edilebilir, paket içerikleri detaylı bir şekilde görülebilmektedir. Herhangi bir filtreye göre istenilen kriterlere ait paketler izlenilebilmektedir.
Network Monitoring Ana Ekran: Program ilk açıldığında aşağıdaki gibi bir ekran (Şekil 1) karşınıza gelecektir.
image
Şekil 1
Şekil-1’de kırmızı çerçeve içerisine alınan bölümde yeni bir izleme sayfası açılabilir ya da daha önceden yapılmış ve kaydedilmiş izlemeleri açılabilir. Mavi çerçeve içerisindeki bölümde ise kurulu bilgisayar üzerindeki network kartlarını görebilir ve buradan izlenmek istenilen kartları seçilebilir.

Kırmızı çerçeveli ekranda “New capture tab” ya da toolbarda bulunan“New Capture” butonuna basıldığında karşınıza network’ü izlemek için yeni bir ekran (Şekil 2) gelecektir. Bu ekran Tab şeklinde ekranda yerini alır. Şekil 2 de görünen ve tab adı “Capture 1” olan ekran gibi.
image
Şekil 2
“Capture 1” adlı tab üzerinde kırmızı çerçeve ile işaretlenmiş (Sol menü) yerde İzlenilen paketler uygulama (googletalk.exe, iexplorer.exe, Outlook.exe, …),ip version (ipV4, ipV6, …), protokol (TCP,UDP, …), kaynak ve hedef bilgisayarlar kriterlerine göre gruplandırılmış şekilde gösterilmektedir. Hangi karakteristikteki frameler(paketler) filtrelemek istendiğinde buradaki ağaçtan biri seçilip, paket özetleri ekranında o paketler gösterilebilir.
Yeşil çerçeve içerisinde işaretlenmiş alan ise, izlenecek paketlere veya izlenmiş paketlere filtrelemek içindir. Yani bir nevi “where” kriteridir. Örneğin sadece TCP protokolü üzerinden alınan paketleri izle, kaynağı veya hedefi şu olan paketleri izle gibi filtreler buradan verilebilmektedir. Yeşil çerçevedeki altındaki tablarda:
Capture Filter: Eğer bu tab kullanılarak filtre verilirse, programın yakalayacağı frameler filtrelenir. Örneğin protokol için “TCP” protokolü filtre olarak verilirse sadece TCP protokolündeki frameler yakalanır.
image
Şekil 3
Şekil-3’de gösterildiği gibi program içerisinde standart konulmuş bazı filtreler bulunmaktadır. Toolbar üzerindeki “History” butonunu yanında bulunan klasöre basıldığında çıkan menüden hem standart filtreler kullanılabilir hem de daha önceden kaydedilenler kullanılabilir. Network üzerinden veri alış verişi yapan programları çalıştıralım ve bunları network monitor programı ile izlenmiş hallerine bakalım.
image
Şekil 4
Şekil-4’te görüldüğü gibi her uygulama ayrı ayrı izlenebilmektedir. Sql üzerinden gönderilen ve alınan paketler bile izlenebildiği görülmektedir (Ssms.exe).
Aşağıdaki adresten indirilebilir:
http://www.microsoft.com/downloads/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&displaylang=en
Armağan DÖKER

8 Mayıs 2010 Cumartesi

Test Derinlikleri

Test derinliği kavramı; test tiplerinin uygulanması gereken test safhalarını ifade etmektedir. “Birim Testi” safhasında “Fonksiyonel Test Tipi”, “Entegrasyon Testi” safhasında “Performans Test Tipi”, “Sistem Testi” safhasında “Yapısal Test Tipi”, “Kullanıcı Kabul Testi” safhasında da “Onay Regresyon Test Tipi” kullanılır.
2
Birim Testi
Birim testleri kodlama esnasında yapılır, “Ünite Testi” olarak da bilinir. Bağlı oldukları diğer sistem unsurlarından tümüyle soyutlanmış olarak birimlerin çalışırlığını doğrulamak amacıyla yapılır.
Testin tamamlandığını görmek için bakılması gereken bazı faktörler şunlardır;
  • Modülü oluşturan satırların hepsi en az bir kez çalıştırılmalıdır.
  • Bütün denklemler ve eşitlikler belirtilen sınırlar içerisindeki değerler ve sınırlar dışındaki değerler ile test edilmeli ve bu denklemleri ihtiva eden tüm döngüler çalıştırılmalıdır.
  • Tüm programlama ve tasarım hataları düzeltilmelidir.
  • Tasarım değişikliği gerekiyorsa, bu değişiklikler düzgün olarak kaydedilmeli ve gerekli işlemler kalite planında belirtildiği üzere başlatılmalıdır.
Ünite testi tamamlandığında program test kütüphanesine kopyalanır. Aynı zamanda bütün testlerin sonuçları, test verileri ve çıktıları sonradan bulunabilecek şekilde saklanmalıdır.
Fonksiyonel Test Tipi
Fonksiyonel test sistemin her elemanının gereksinimleri karşılamakta olduğunu ve sistem tasarım belirtimlerine uyumlu olduğunu gösterir. Birim seviyeli fonksiyonel test, her birimin belirtildiği şekle göre uygulanıp uygulanmadığını doğrulamaktadır.
Entegrasyon Testi
Uygulamanın diğer modüllerle, farklı işletim sistemleri ve uygulamalarla çalışabilirliğinin test edilmesidir. Testin amacı modüllerin birlikte çalıştığını doğrulamaktır. Yazılan programın özelliklerinin diğer fonksiyonlarla arasında uyuşmazlık varsa entegrasyon testi ile ortaya koyulur.
Amaçlarını şöyle sıralanabilir;
  • Program birimlerinin birbirleriyle program speklerinde belirtildiği şekilde doğru olarak bütünleştiğini görmek.
  • Modüller arası geçişlerin doğru olduğunu göstermek.
  • Modüllerin entegrasyon sonucu oluşturdukları alt sistemin veya sistemin tasarımında belirtildiği şekilde doğru olarak çalıştığını göstermek.
  • Her modülün diğer modüller tarafından çağrıldığında gereken arayüzün oluştuğunu ve parametrelerin doğru olarak geçirildiğini göstermek.
Performans Test Tipi
Performans test tipinde; Uygulamanın beklenen işlevleri yerine getirilip getirmediği, hangi noktalarda darboğazlar oluştuğu, başarılı ve başarısız senaryo adımları değerlendirilir. Performans testinde sorgulanması gereken adımları şöyle sıralayabiliriz;
  1. Sistem trafiği arttığında işlem süresinde artış, fonksiyonilitede hata veya herhangibi güvenlik açığı var mı?
  2. Hangi yük seviyesinde problemler yaşanıyor?
  3. Performans seviyesinde düşüş varsa sistemin hangi işlevinden kaynaklanıyor?
Sistem Testi
Bileşenlerin sistem ile olan etkileşiminde çıkacak hatalar aranmaktadır. Sistem testlerinin ortak amacı sistem elemanlarının uygun bir şekilde bütünleştirildiğini ve kendilerine tahsis edilen işlevleri yerine getirdiklerini kanıtlamaktır. Kullanıcı kabul testinden önceki son aşamadır.
Yapısal Test Tipi
Yapısal testler, sistem yapısına ve mimarisine yönelik olarak yapılır. Beyaz kutu tekniklerini içerir. Data flow diagrams özelliklerini temel alarak test caseler oluşturulur.
Kullanıcı Kabul Testi
Kullanıcının İstek ve ihtiyaçları baz alınarak gerçekleştirilir.Fonksiyon ve sistem testleri tamamlandıktan sonra hazırlanan ürünün tüm fonksiyonları ile kontrol edilip onaylanmasını gerektirir. Bu aşamada yapay veriler yerine gerçek veriler kullanılmalıdır. Kabul testleri ile geliştirilen yazılımın beklenen özellikleri karşıladığı doğrulanır. Bu sınama türü alfa sınaması veya beta sınaması aşamalarıyla tamamamaktadır.
  • Alfa Aşaması; Sistemin geliştirildiği yerde kullanıcıların gelerek katkıda bulunması sistemi test etmesi amaçlanmaktadır.
  • Beta Aşaması; Kullanıcı, geliştirilen sistemi kendi yerleşkesinde, bir gözetmen eşliğinde yapar.
Kabul testleri aynı zamanda uygulamaya yönelik yasal gereklilikleri, yedekleme, kullanıcı yönetimi ve güvenlik açıkları gibi konuları da kapsamalıdır.
Onay Regresyon Test Tipi
Uygulamada gerekli değişiklikler ve sabitlemeler yapıldıktan sonra yapılan testlere regresyon testi denilir. Böylece, önceki testlerde belirlenen sorunların giderildiğinden ve yeni hatalar oluşmadığından emin olunur. Uygulamanın kaç kez yeniden test edilmesi gerektiğini belirlemek güçtür ve bu nedenle, özellikle uygulama geliştirme döneminin sonlarına doğru yapılır.
Referanslar;
Sevcan SARAÇ, Yalçın ÖZÇELİK

5 Mayıs 2010 Çarşamba

FARK YARATAN SİZSİNİZ…

“İnsan” bizim en önemli ve vazgeçilmez sermayemiz ve “FARK YARATAN SİZSİNİZ”  sloganıyla ilerliyoruz. Artan müşteriler ile büyüyen iş hacmimiz doğrultusunda bugün itibariyle 100 kişilik bir ekibiz. Tüm çalışanlarımız ile birlikte benimsediğimiz felsefe kaliteli hizmet, sürekli iyileştirme ve koşulsuz müşteri memnuniyeti.
UniveraKurum-ilan
Hedeflerimize ulaşmak için birlikte yol aldığımız çalışanlarımızın memnuniyeti ve motivasyonu bizim en çok değer verdiğimiz kavram. İnsan Kaynakları Yönetimi prensibinin temelinde iki hedef yatıyor; bunlardan ilki “İnsan kaynağının organizasyon hedefleri doğrultusunda en verimli şekilde örgütlenmesi”, diğeri ise “Çalışanların sürekli eğitim ve gelişim faaliyetleri ile organizasyonlara olan katkı ve motivasyonlarının en üst düzeyde tutulması”.
Bu noktada başarı, doğru seçme yerleştirme süreciyle başlıyor. Fark yaratacak ve kurum kültürüne uygun, davranışsal ve teknik yetkinleri pozisyona uygun adayları ailemize dahil etmek, onları sürekli eğitim felsefesiyle geliştirmek, belirlenmiş hedefler doğrultusunda kariyer yollarlarını oluşturmak, keyifli iş ortamları yaratmak ve uzun yıllar birlikte büyüyerek yol almak, başarıda anahtar süreçler oluyor.

Artık her alanda büyük balık değil hızlı balık kazanıyor. O nedenle de rekabette en büyük faktör kaliteli insan kaynağı, onun mutlu ve motive çalışması, takdir edilmesi, gelişmesi  ve elde tutulması. Bunlar bizim sektörümüzde her zaman öncü olmamızı sağlıyor.
Eğlenceli iş ortamları yaratmak düşüncesiyle ilerliyoruz. Müşterilerimize her zaman en önemli değerimiz olan gülümseyen sesimizle, görüntümüzle hitap ediyoruz ve kazanıyoruz. Sosyal yönü güçlü, güler yüzlü, teknik yönleri kuvvetli, vizyonu geniş, konuşmayı ve paylaşmayı seven, pozitif, genç, dinamik, proaktif, müşteri odaklı, cesur ve innovatif çalışanlarımız ile birlikte büyümeye devam edeceğiz.
Fatoş ŞERİFAKİ

4 Mayıs 2010 Salı

Univera Çağrı Merkezi 7 Yaşında…

Univera olarak ürünlerimizde yarattığımız farkı hizmet kalitesiyle de desteklemek amacıyla 2003 yılı sonlarında çağrı merkezi departmanımızı faaliyete geçirdik. Kuruluşunda 4 kişilik bir ekip ile çalışmalarını sürdüren ekibimiz şu anda 20 kişilik bir kadro ile hem gelişmeye hem de doğru tespit ve yönlendirmeler ile ürünlerimizi geliştirmeye devam ediyor.
Son 3 yılda yaptığımız teknolojik ve insani yatırımlarla da sektörde adımızdan söz ettirmeye başlarken, gelişen trendi yakalamaya ve sektörle eş zamanlı gelişmeleri takip etmeye çaba harcadık.
2009 yılından itibaren tüm sektörlerde hissedilen ekonomik kriz neredeyse çağrı merkezlerini hiç etkilemedi. Gelişen teknoloji ile büyümeyi sürdürürken, yeni istihdamlar yaratmaya da devam etti. Sektörün yeni olduğu dönemler ile arasında ki tek fark müşterinin duruşuydu. Müşterinin tercih eden olduğu bir piyasada yeni müşteriler kazanırken, var olan müşterilerimize hizmet kalitemizle elde tutmak en önemli amacımız oldu hep...Satış sonrası verilen hizmetin her aşamasında fark yaratmamız gerektiğinin bilincinde olduk.
resim
İlk günkü heyecanla büyümeye devam ederken, hep tek noktaya odaklandık; Müşteri. Her aşamada aklımızda aynı şey oldu. Koşulsuz müşteri memnuniyeti yaratmak…

Başarının tek anahtarının memnuniyet olduğunun farkındayız; hem çalışan, hem de müşteri memnuniyeti. İnsan kaynağının ön planda olduğu kimi zaman zorlu olsa da her zaman sorun çözmenin verdiği keyifle, büyümeye, müşteri memnuniyetimizi büyütmeye kararlıyız.
Univera’yı tercih ederek ellerinde tutukları bilginin gücü, müşterilerimize hiç ağır gelmeyecek. Şirketimizin müşteriye bakan yüzü olarak Çağrı Merkezimiz ile uygulamanın her aşamasında en büyük destekçileri ve çalışma arkadaşları olmaya devam edeceğiz.
Özge AKBABA

3 Mayıs 2010 Pazartesi

Üniversitelerin Kariyer Günlerine Katıldık…Kısa Kısa…

Geçen hafta hem Ekonomi Üniversitesi hem de Dokuz Eylül Üniversitesi Bilgisayar/Yazılım Mühendisliği öğrencileri ile buluştuk. Sektör deneyimlileri ile üniversite öğrencilerinin bir araya gelerek; her türlü tecrübe paylaşımını (şirket tanıtımından CV yazmaya, çalışmak istenilen yerde olması gereken kriterlere, kariyer hedeflerine vs.) oldum olası savunmuşumdur. Çünkü bu arkadaşların yönlendirilmeye ihtiyacı var, bizler gibi aynı yoldan geçecekler, ancak aynı zaman kayıplarını yaşamak zorunda değiller, bizler yol gösterici olabiliriz. Arkadaşların sorduğu ve cevaplamaya çalıştığım :) bazı soruları bu platformda paylaşmak istiyorum;
Soru: Okul aslında bize piyasadan çok uzak bilgiler veriyor sanki? Gerçek hayat çok farklı değil mi?
Cevap: Zor bir soru tabi :) Her türlü eğitimin bence çok katkısı var, her zaman dediğimiz gibi hiç bir şey boşa değil. Okul öğrenimi size rehberlik eder, problem çözebilmek için izlemeniz gereken yöntemleri öğretir, yeni yöntemlere nasıl adapte olacağınızı anlatır. Uzman olmayı beklemeyin, uzmanlık profesyonel tecrübe ile olur, zaman gerekir. Ayrıca konunun yaşla ilgili olduğunu da düşünüyorum. Özellikle yüksek lisans yaparken fark etmiştim, insan belirli bir tecrübeye ulaşınca farklı bir bilgi açlığı hissediyor. Keşke lisanstaki dersleri şimdi alabilsem de öğrensem diyor, jeton biraz geç düşüyor:)

Soru: Yeni mezun adayları işe alma kriterleriniz nelerdir?
Cevap: Teknik bilgi arayışına fazla girmem. Genelde lisans tezi ve aldığı derslerle ilgili sorular sormaya çalışırım. Ekibe uyum sağlayacak, işini seven, bilinçli olarak bu mesleği seçmiş, pozitif enerjiye ve kıvrak zekaya sahip kişileri ararım görüşmelerde. Hep şu örneği veririm; bilgisayar mühendisliğinde grup olarak ödev/proje yapmak meşhurdur. Bilgisayarın başında, ön saflarda genelde 2-3 kişi olur, sonra ya arkalara ya da yanlara doğru kuyruk uzar. Ön taraf genelde kodlamayı yapar. Yanlara/arkalara doğru dokuman ve çay getir-götür işleri yapılır:) Kod da yazın doküman da yazın, çay da yapın ama hep arkada kalmayın. Gerçek hayatta kendi ödevini kendi yapanlar kazanıyor… 
Soru: Doktora ile iş hayatını beraber yürütmek zor mu, nasıl başarabiliriz?
Cevap: Elbette zor. Bu iş biraz aşk işi, sevmek lazım, fedakarlık lazım. Bizler, eve gelince kontağı kapatamayanlardanız. Hem akademik hayatı seviyor, hem de profesyonelliği tatmak istiyorsanız, fazla da şansınız yok.
Soru: Şirketinizin bir çaylak programı var mı?
Cevap: Staj imkanları dışında maalesef bir çaylak programımız yok.
Soru: Şirkette motivasyonu sağlamak için ne yapıyorsunuz?
Cevap: Benim gibi kendinden şarj olan birisi için zor bir soru :) Motivasyon, zorlu bir denklem gibi ancak temel, basit bir doğrusu var; “Değer verildiğini hisseden insan motive olur”. Dolayısıyla, şirketin doğru bir insan kaynağı politikası, kişisel gelişim hedefleri, düzenli iç ve dış eğitimleri, bilgi alıp vermeye yatkın paylaşımcı bir ekibi, insan olduğunuzu hatırlatan sosyal aktiviteleri, şeffaf/tanımlı performans değerlendirmesi vs.vs. diye uzayıp gidiyor.
Resmedilen bazı anlar…
ekoEkonomi Üniversitesinden…
deu Dokuz Eylül Üniversitesinden…
Deniz KILINÇ

2 Mayıs 2010 Pazar

Web Servisi 3G Bağlantısında Retransmition Sorunu

Bu yazımızda istemci-sunucu arasında web servisi ve 3G iletişiminde gönderilen/alınan veri miktarlarında yaşanılan problemli bir senaryodan bahsedilecektir.
Problemli Senaryo Tanıtımı ve Deneyler
Aşağıdaki şekilde “Application Server” olarak adlandırılan sunucu üzerinde örnek bir web servisi bulunmaktadır. PDA istemci el terminali de 3G ile internete bağlanıp, web servisine erişerek bir dosya istemektedir. İstenilen dosya bayt dizesi olarak network üzerinden el terminaline gönderilmektedir.
image
Bu senaryoda alınan verinin boyutu 250 KB olmasına rağmen, network izleme araçlarıyla bakıldığında 1,25 MB civarında veri alış-verişi olduğu gözlenmektedir. Yani indirilen verinin 5 katı gibi bir veri boyutu oluşmaktadır. 3G sağlayıcılar, ücretlerini veri alış veriş miktarına göre belirlemektedir. Gerçek verinin 5 katı boyutunda veri alış verişi yapmak, doğal olarak fazla maliyet demektir. Problemin neden kaynaklandığını anlamak için senaryo aşağıdaki gibi farklılaştırılmıştır.
image
“NOTEBOOK” istemcisi normal ADSL bağlantı üzerinden ilgili web servisine bağlanıp aynı veriyi almaktadır. Hem indirilen veri hem de network üzerinden aktarılan verinin boyutu 250 KB olarak gözlenmiştir. Dolayısıyla bu senaryoda problem olmadığı görülmüştür.

5 kat farkın nereden oluştuğunu anlamak için network kartı üzerinden gelen giden paketleri tekrar izlenmeye başlanmıştır. Bunun için Microsoft’un bir ürünü olan Network Monitoring 3.3 programı kullanılmıştır. Yukarıdaki senaryolarda network monitoring aracı ile gidip gelen veriler izlenildiğinde, 244 KB büyüklüğündeki veri ADSL hattımızda 244KB ve 300 pakete ayrılarak indirilmesine rağmen 3G modem ile 1500 pakete ayrılarak 1,22 MB olarak indirilmektedir.
Aradaki farklara bakıldığında, 3G modem ile indirilen paketlerde “retransmit” attribute’ü ile belirtilmiş paketler görülmektedir. Bu durum aynı paketlerin birden fazla gönderilmesi anlamına gelmektedir. Genelde yeniden gönderilme işlemi, paketlerde bozulmalar olduğu zaman gerçekleşebilir.
244 KB * 5 = 1220 KB = 1,22 MB
Çözümler
Bu sorunların network altyapılarından kaynaklanma olasılığı yüksektir. Dolayısıyla çözüm sürecinde, öncelikle network altyapısına bakılmalıdır. Örnek senaryoda yaşanılan sorunun, network altyapısında kullanılan 4 adet fiziksel LAN kartlarının arasında oluşan uyumsuzluktan kaynaklandığı tespit edilmiştir. Gelen paket 1 network kartına girdikten sonra aynı karttan dönmesi gerekirken diğer 3 kartı da denemekte ve esas MAC adresini bulunca transfer başlamaktadır. Çözüm için LAN kartlarının sayısı düşürülmüş ve 3G ile aynı veri ADSL deki gibi retransmit olmadan indirilebilmiştir.
Eğer sorun bu şekilde çözülemiyorsa aşağıdaki çözüm denenebilir.
Eski SPI güvenlik duvarı olan NAT router’lar kullanılan sistemlerde, router arkasındaki sunucu üzerindeki “tcp auto-tuning” parametresinin değerine bakılmalıdır. Bu değer default olarak “normal”’dir. “Normal” olması durumunda, paket kayıplarına ve düşük hızlara sebep olabilmektedir. Auoto-tuning değerini değiştirerek bu sorun çözülebilir.
Auto-tuning parametresi şu değerleri alabilir:
  • disabled: Sabirt bir değer verilir. Maksimum 64KB olabilir.
  • highlyrestricted: default değerin ötesinde, aşırı bir şekilde büyüyerek artmasına olanak sağlar.
  • restricted: default değerin ötesinde sınırlı artmasını sağlar.
  • normal: default değerin koşullara uygun bir şekilde artmasını sağlar.
  • experimental: En uç senaryolara göre artış sağlar. Araştırma amaçlı kullanılabilir. Önerilmeyen bir değerdir.
Eğer bu tür routerlar ile sorun yaşanıyor ise, server üzerindeki auto-tuning parametresi değeri "restricted", " highlyrestricted" veya "disabled" duruma alınması sorunu giderebilecektir.Bu parametrenin değeri aşağıdaki komut ile değiştirilebilir.
netsh int tcp set global autotuninglevel=disabled
Armağan DÖKER, Ali KALFAOĞLU, Deniz KILINÇ