Web performans
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Web Performansı PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Web Performansı. Hüseyin Gömleksizoğlu 041 041 01. Sunumun İçeriği. Genel Bakış Performans incelemesi Kullanıcı işlemleri Ara işlemler Sunucu işlemleri Sonuç. Genel Bakış. Kullanıcıdan sunucuya karar işlemler. Sorgulama. DNS. www.gyte.edu.tr. Yanıt. 80. Porta bağlantı isteği. ACK.

Download Presentation

Web Performansı

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Web performans

Web Performansı

Hüseyin Gömleksizoğlu

041 041 01


Sunumun eri i

Sunumun İçeriği

  • Genel Bakış

  • Performans incelemesi

  • Kullanıcı işlemleri

  • Ara işlemler

  • Sunucu işlemleri

  • Sonuç


Genel bak

Genel Bakış

  • Kullanıcıdan sunucuya karar işlemler

Sorgulama

DNS

www.gyte.edu.tr

Yanıt

80. Porta bağlantı isteği

ACK

Sunucu ve

Veritabanı işlemleri

İstek

Data


Http nedir

HTTP Nedir?

  • HTTP HyperText transfer protocol (köprü metin iletişim ve aktarım kuralı)

  • TCP üzerinden çalışır

  • Basit kuralları vardır.

  • HTTP 1.0 ve HTTP 1.1


Http 1 0 sorunlar

HTTP 1.0 Sorunları

  • Her istek için bir bağlantı ihtiyacı

  • Her seferinde sadece bir istek gönderme

  • Caching (Önbellekleme)

  • Sanal Host desteği

HTTP 1.1 Yenilikleri

  • Persistent Connection (Devamlı bağlantı)

  • Caching (Önbellekleme)


Kesintisiz ba lant

Kesintisiz Bağlantı

  • Önceden her işlem için bir bağlantı kurulurdu

  • Resimli sayfalarda aynı anda birden fazla bağlantı kulurdur.

  • Kesintisiz bağlantının avantajları

    • Daha az bağlantı için daha az işlemci gücü

    • Aynı bağlantı üzerinde cevap beklemeden birden fazla istek yapılabilir.

    • Yeniden bağlantı için bekleme olmadığı için artarda bağlantılarda hızlanma

    • Hatalarda bağlantı kesilmesi olmadan bilgilendirme yapılabilir.


N bellekleme

Ön bellekleme


Http zerinde ileti im

HTTP üzerinde iletişim

  • Request (İstek)

    GET: /index.html HTTP /1.0

    Accept: */*

    User-Agent: Mozilla 1

  • Response (Cevap)

    HTTP/1.0 200 OK

    Server: Microsoft-IIS/5.0

    Date: Sun, 26 Dec 2004 22:31:01 GMT

    X-Powered-By: PHP/4.0.4pl1

    Content-type: text/html

    Content-Length: 2003

    <html>

    ....

    </html>


Http zerinden data aktar m

HTTP üzerinden data aktarımı

Sunucu

Kullanıcı

1

1

Kullanıcı sunucuya bağlantı isteğinde

bulunur.

2

2

Sunucu kullanıcıya ACK gönderir.

3

3

Kullanıcı sunucuya http isteğini gönderir.

4

4

Sunucu aldığı isteğe ACK gönderir ve aynı paketle birlikte cevabın ilk paketini de göndermeye başlar.

5

5

Kullanıcı ikinci isteğinde bulunur. Bağlantı devam ettiği için yeniden bağlantı kurmaya gerek yoktur.


Tcp slow start

TCP Slow-Start


Tcp vegas

TCP Vegas


Kullan c i lemleri

Kullanıcı işlemleri

  • Hızlı bir DNS

  • Yüksek kapasiteli bir bağlantı

  • Performanslı bir tarayıcı

  • Web içeriğinin saklanması ve yeniden kullanılması


Network

Network

  • Paket kaybı olmaması

  • Proxy (Vekil) sunucu

  • Yüksek hızlı bir bağlantı

  • Cihazların performansı


Sunucu

Sunucu

  • Donanımsal

    • Cluster

    • Caching

  • Yazılımsal

    • Minimum trafik

    • Az işlem ve CPU kullanımı

    • Az hafıza kullanımı

    • Akıllı kodlama

    • Sıkıştırma

  • İşletim Sistemi


Cluster

Cluster


Cluster1

Cluster


Cluster2

Cluster

  • Yük dengeleme (Load balancing)

  • Genişletebilme (scalability)

  • Yüksek Erişebilirlik (High Availability)


P jigsaw ge chen cho li wang ve francis c m lau

p-JigsawGe Chen.,†, Cho-Li Wang ve Francis C. M. Lau


Programlama

Programlama

  • HTML dosyasının boyutunu küçültme

    • CSS kullanılmalı

    • JS dosyaları kullanılmalı

    • Boşluklar temizlenmeli

    • Yeni sitelerde sayfa javascript ile oluşturuluyor

    • Düzgün sonlanma tarihleri verilmeli (Cache için)

    • Sıkıştırma


Veritaban

Veritabanı

  • Dizayn ile çalışılmalı

  • Foreign ve Primary Key’ler tanımlanmalı

  • Gerekli yerlerde index kullanılmalı

  • Önce normalize bir yapı kurulmalı sonra performans için denormalize alanlar kullanılabilir.

  • En uygun veri tipi seçilmeli

  • Büyük tablolar yatay veya dikey bölünmeli

  • İndexler kullanıma göre yeniden düzenlenmeli

  • Seçici alanlar where koşulunda daha önce olmalı

  • Büyük indexler yerine daha ufak indexler kullanılmalıdır.


Sorgulamalar

Sorgulamalar

  • SELECT * FROM şeklinde sorgulamak yerine sadece istenen alanlar sorgulanmalı

  • NOT LİKE işlemi gerekmedikçe kullanılmamalı

    • LIKE “%sth%” pahalı

    • LIKE “sth%” daha az pahalı

    • <>, NOT LIKE, pahalı

    • IF EXISTS, IF NOT EXISTS, kullanılabilir.

  • Gerekmedikçe lock kullanılmamalı

  • Stored Procedure(saklı yordam) kullanılmalı

  • Gerekmedikçe Cursor kullanılmamalı


Web performans

Sonuç

  • Kullanıcı tarafında en büyük kriter bağlantı hızıdır. Bağlantı hızı arttıkça performans da artacaktır.

  • Network ve altyapı tarafında http 1.0 ile http 1.1 arasında iyileşmeler var ama yeni teknolojiler ile gereksiz beklemeler azaltılabilir. Proxy sunucular ve cache’leme işlemi üzerinde çalışmalar yapılarak bağlantılar hızlandırılabilir.

  • Sunucu tarafında yapılabilecek birçok şey vardır. Donanım iyileştirmesinden, bağlantının yükseltilmesine, yazılımda iyileştirmeler de dahil performansta büyük artışlar yaratacaktır.


  • Login