Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Hüseyin Gömleksizoğlu

Benzer bir sunumlar


... konulu sunumlar: "Hüseyin Gömleksizoğlu"— Sunum transkripti:

1 Hüseyin Gömleksizoğlu 041 041 01
Web Performansı Hüseyin Gömleksizoğlu

2 Sunumun İçeriği Genel Bakış Performans incelemesi Kullanıcı işlemleri
Ara işlemler Sunucu işlemleri Sonuç

3 Genel Bakış Kullanıcıdan sunucuya karar işlemler Sorgulama DNS
Yanıt 80. Porta bağlantı isteği ACK Sunucu ve Veritabanı işlemleri İstek Data

4 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

5 HTTP 1.0 Sorunları HTTP 1.1 Yenilikleri
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)

6 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.

7 Ön bellekleme

8 HTTP üzerinde iletişim
Request (İstek) GET: /index.html HTTP /1.0 Accept: */* User-Agent: Mozilla 1 Response (Cevap) HTTP/ OK Server: Microsoft-IIS/5.0 Date: Sun, 26 Dec :31:01 GMT X-Powered-By: PHP/4.0.4pl1 Content-type: text/html Content-Length: 2003 <html> .... </html>

9 HTTP üzerinden data aktarımı
Kullanıcı Sunucu 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.

10 TCP Slow-Start

11 TCP Vegas

12 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ı

13 Network Paket kaybı olmaması Proxy (Vekil) sunucu
Yüksek hızlı bir bağlantı Cihazların performansı

14 Sunucu Donanımsal Yazılımsal İşletim Sistemi Cluster Caching
Minimum trafik Az işlem ve CPU kullanımı Az hafıza kullanımı Akıllı kodlama Sıkıştırma İşletim Sistemi

15 Cluster

16 Cluster

17 Cluster Yük dengeleme (Load balancing) Genişletebilme (scalability)
Yüksek Erişebilirlik (High Availability)

18 p-Jigsaw Ge Chen.,†, Cho-Li Wang ve Francis C. M. Lau

19 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

20 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.

21 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ı

22 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.


"Hüseyin Gömleksizoğlu" indir ppt

Benzer bir sunumlar


Google Reklamları