WEB PROGRAMLAMA DİLLERİNİN PERFORMANS ANALİZİ PERFORMANCE ANALYSIS OF WEB PROGRAM LANGUAGE



Benzer belgeler
1.PROGRAMLAMAYA GİRİŞ

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

PHP 1. Hafta 1. Sunum

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Öğr. Gör. Serkan AKSU 1

Programlama Yazılımı ile Web Sitesi Oluşturma

Üst Düzey Programlama

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Internet Programming II

INTERNET ÜZERİNDE BAZI VERİ TABANI YÖNETİM DİLLERİNİN KARŞILAŞTIRILMASI

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

İNTERNET PROGRAMLAMA II. Tanımlar

İNTERNET TABANLI TEST HAZIRLAMA VE DEĞERLENDİRME PROGRAMLAMA ARAYÜZÜ

08220 Internet Programcılığı II

İnternet Programcılığı Öğr. Gör. Serkan AKSU Statik ve Dinamik Web Siteleri. Dinamik Web Sitesi Nedir?

Üst Düzey Programlama

Basit bir web uygulaması

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

PHP 1. Hafta 2.Sunum

Şişli Mesleki ve Teknik Anadolu Lisesi Web Programcılığı Dalı 2014 WEB PROGRAMCILIĞI DALI

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

PHP ile İnternet Programlama

Internet Programlama (ISE 311) Ders Detayları

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

MOBİL İLETİŞİM CİHAZLARI İLE EV OTOMASYON SİSTEMLERİ (EOS)


İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Neden PHP? Tasarımcı, şirket ve kullanıcı gözüyle. 10 Ekim 2005 / DEÜ DESEM Seval ÖZBALCI 1

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

08217 Internet Programcılığı I Internet Programming I

YZM 3215 İleri Web Programlama

PROGRAMLAMA DERSİ 1. İNTERNET

ÖZGÜR YAZILIMLAR İLE J2EE

Web Tasarımının Temelleri

Java Programlama Giriş

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

İNTERNET PROGRAMCILIĞI - II

WEB TASARIMININ TEMELLERİ

BİT in Temel Bileşenleri (Yazılım-1)

WEB TASARIMINDA TEMEL KAVRAMLAR

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Veritabanı Uygulamaları Tasarımı

Internet Programming I. Hafta II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

1 MİCROSOFT FRONTPAGE 2003 E GİRİŞ

Mobil Cihazlardan Web Servis Sunumu

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

1 MİCROSOFT FRONTPAGE 2003 E GİRİŞ

08217 Internet Programcılığı I

MYO-ÖS Ulusal Meslek Yüksekokulları Öğrenci Sempozyumu EKĐM 2010-DÜZCE

BİLGİ VE ERİŞİM AMAÇLI BİR TEKSTİL WEB SİTESİNİN TASARIMI VE UYGULAMASI *

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

İnternet Programcılığı

4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,

İNTERNET VE BİLGİ AĞLARININ KULLANIMI

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Akademik Özgeçmiş Tabanlı Fakülte Bilgi Sistemi

Web Programlama Kursu

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

08220 Internet Programcılığı II

WEB TASARIMININ TEMELLERİ

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Bilgisayarın Yapıtaşları

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

PHP I le Web Sitesi Yapımı

PAPERWORK TEKNİK MİMARİ

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

FIRAT ÜNİVERSİTESİ ENFORMATİK LABORATUVARLARI OTOMASYONU

ÜSKÜDAR ÜNVERSİTESİ EBYS KULLANIM KILAVUZU

JAVASCRIPT JAVASCRIPT DİLİ

VERİ MADENCİLİĞİ (Web Madenciliği)

Bilgisayarda Programlama. Temel Kavramlar

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BİLGİ & İLETİŞİM TEKNOLOJİLERİ

Veritabanı. Ders 2 VERİTABANI

TBF 110 BİLGİSAYARDA VERİ İŞLEME ve UYGULAMALARI Ha9a- 2 - İnternet

PHP ye Giriş. Hidayet Doğan

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon :

Bilgisayar Sistemlerine Genel Bakış

4. Bağlantı (Köprü) Oluşturma

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

WEB TASARIMININ TEMELLERİ

Transkript:

WEB PROGRAMLAMA DİLLERİNİN PERFORMANS ANALİZİ Tuncay Yavuz Özdemir İbrahim Türkoğlu * * Elektronik ve Bilgisayar Eğitimi, Fırat Üniversitesi, Elektronik ve Bilgisayar Eğitimi, Fırat Üniversitesi, 23119, Elazığ. tyavuz23@hotmail.com, iturkoglu@firat.edu.tr ÖZET Bu çalışmada, günümüzde web tasarımlarında önemli bir yer alan, web programlama dillerinin performans analizi yapılmıştır. Bu amaçla ASP, PHP ve CGI dilleri kullanılarak, her biri için ortak uygulamalar geliştirilmiştir. Uygulama örnekleri üzerinde her dilin işlemciye bindirdiği yük karşılaştırmalı olarak verilip, değerlendirmeler yapılmıştır. Böylece web tasarımı yapacaklar için, kullanacakları uygulamalara göre dil seçimlerine yardımcı olacak bulgular elde edilmiştir. Anahtar Kelimeler: ASP, PHP, CGI, işlemci, web tasarımı. PERFORMANCE ANALYSIS OF WEB PROGRAM LANGUAGE ABSTRACT In this study, performance analysis of web program language is made which has an important place of web conception recently. For this aim, common applications were developed by using ASP, PHP and CGI. In given examples the load of each language that is exerted on the processor is compared and evaluated. Thus results are presented which will help the web designers to choose the appropriate program language. Keywords: Asp, Php, Cgi, Web Design. 1. GİRİŞ Web üzerinde bilgi, temel olarak statik ve dinamik olmak üzere iki farklı şekilde görüntülenir. Statik bilgi içeren sayfalar bir defa yazılıp sunulmasına rağmen, dinamik sayfalar temel olarak istemci istekte bulununca oluşturulur. Bu şekilde dinamik sayfalar oluşturmak için Web Programlama dilleri kullanılır [1].. Web programcılığı, artık standart haline gelen HTML (Hiper Metin Anlamlandırma Dili) ile başlamış ve CGI, JavaScript, ASP, PHP gibi dillerle devam etmiştir. Bu dillerin bazıları sunucu tarafında bazıları ise istemci tarafında çalışmaktadır [2]. İlk olarak HTML i ele alalım; HTML dosyalarının içeriği bağlanılan sunucu tarafından istemci bilgisayarında gösterilir. Yani tüm görüntüleme işlemini istemci bilgisayarı yapar. HTML den sonra çıkan JavaScript teknolojisi de buna yakındır. Yani dosyalar sunucu bilgisayar tarafından istemci bilgisayarına

yollanır ve istemci bilgisayarında düzenlenip görüntülenir. JavaScript içeren sayfalar diğer sayfalara göre daha geç yüklenmektedir çünkü tüm JavaScript kodları istemci bilgisayarında çalıştırılır ve tabi bu da performans kaybına yol açar. Sunucu tarafında çalışan programlama teknolojilerinde ise tüm kodlar sunucu tarafında çalıştırılır ve istemciye sadece salt HTML kodları gönderilir [3]. Buradan anlaşılacağı üzere sunucu taraflı programlamada sayfa içerisinde bulunan tüm kodlar sunucu üzerinden çalıştırılır. Bu yönüyle sunucu bilgisayarının performansı nispetinde sistem o denli hızlı işler. İstemci bilgisayarı ise sadece sunucudan gelen salt HTML sayfalarını görüntüler. Kullanıcı herhangi bir tarayıcı vasıtası ile ilgili siteye bağlandığında, ulaşmak istediği dosyayı, istemci bilgisayara gönderir. Ancak bu durum.html ve.htm uzantılı dosyalar için böyle iken, sunucu taraflı programlama ile hazırlanan bir dosyaya istekte bulunduğunda Web sunucu istenilen bu dosyayı önce yorumlar ve bu işlemin sonucunda üretilen standart HTML kodları kullanıcıya gönderir. Sonuç olarak kullanıcıya iletilecek HTML dosyası, kullanıcı istekte bulunana kadar oluşturulmaz. Kullanılan tarayıcı tipi, yazılan sunucu taraflı programlama dosyaları için önemli değildir. Çünkü yorumlanan sunucu taraflı programlama dosyaları standart HTML çıktı üretirler [4]. PHP (Personel Home Page-Hypertext Preprocessor) ve ASP (Active Server Pages) sunucu tabanlı betik dilleridir. PHP ve ASP'nin temel ortak özellikleri HTML içine yazılmalarıdır. Sayfa uzantısı.php veya.asp olan bir dosya sunucudan istendiğinde, sunucu bu sayfayı PHP veya ASP yorumlayıcına yönlendirir. Yorumlayıcı PHP veya ASP kodlarını yorumlar, yapılması gerekenleri yapar ve ziyaretçinin tarayıcısına sonucu gönderir. Özet olarak, bir sunucu taraflı programlama ile hazırlanan sayfa şunlardan oluşur: Bu sayfaların içinde kod vardır. Bu sayfaların kodları Web sunucusu tarafından icra edilir. Bu sayfa kullanıcının tarayıcısına salt HTML kodu olarak gelir. 1.1. Web Sunucu Web, Internet üzerinde yer alan grafiksel bir servistir. Hazırlanan içeriklerin (grafik, yazı, ses, animasyon, görüntü vb.) dünya üzerinde yer alan tüm kullanıcılara iletilmesi ve kullanıcıların bu dosyalara ulaşabilmesi için Internet e bağlı bir bilgisayar üzerinde çalışan uygulama yazılımını Web sunucu olarak tanımlanabilir [5]. Web sunucu programları kuruldukları işletim

sistemine göre farklılık gösterebilir. Sözgelimi Web sunucu olarak Unix işletim sistemini kullanan bilgisayarlar Apache kullanırken, Windows işletim sistemini kullanan bilgisayarlar (sunucu) ise, Web sunucu programı olarak IIS (Internet Information Server) kullanabilir. 1.2. Statik Sayfa Nedir? Bir Web gezgini olarak Internet te dolaşırken sürekli olarak statik sayfalarda geziniyorsunuz demektir. Statik sayfa onu oluşturan kişinin (Webmaster), bu sayfanın içeriğini bitirdiği, tamamladığı ve kullanıcıların bu sayfaya her uğradığında aynı içeriği gördüğü sayfalardır. İçeriklerinin değişmesi için yeniden tasarlanmaları gereklidir. Bu zaman ve iş gücü kaybına yol açan bir etkendir. Statik sayfa tanımını ve özelliklerini belirleyen bazı önemli hususlar şunlardır: - Tasarımcı (Webmaster) sayfasını hazırlar ve.htm uzantılı bir dosya olarak kayıt eder. - Tasarlanan dosya Web sunucuya yayınlanmak üzere yerleştirilir. - Kullanıcı tarayıcının adres kısmına bu sayfaya ulaşmak için gerekli adresi yazar. - Bu isteğe karşı Web sunucu ilgili dosyayı bulur. - Web Sunucu, HTML içeriğini istek gönderen tarayıcıya internet ağı aracılığı ile yollar. - Tarayıcı gönderilen bu HTML dosyasını işler ve ekranda gösterir. 1.3. Dinamik Sayfa Nedir? İçeriği, tamamı ile önceden belirlenmiş bazı kriterlere bağlı olarak değişen sayfalar, dinamik sayfalar olarak adlandırılır [6]. Bu değişiklik, sayfanın aldığı bazı girdilere göre olabilir. Dinamik sayfaların Web sunucu tarafında yorumlanma işlemi gibidir. Dinamik sayfaların bazı özelikleri ise: - Programcı veya Web tasarımcı bazı komut dosyalarını da içeren bir dosya hazırlar. - Tasarlanan dosya Web sunucuda yayınlanmak üzere yerleştirilir. - Kullanıcı, tarayıcının adres kısmına bu sayfaya ulaşmak için gerekli adresi yazar. - Bu isteğe karşı, Web sunucu komutları içeren ilgili dosyayı bulur. - Web sunucu bu komutlar dizisini işleyerek HTML çıktı üretir.

- Web sunucu oluşturulan bu HTML çıktıyı, istekte bulunan tarayıcıya gönderir. - Tarayıcı, gönderilen bu HTML dosyasını işler ve ekranda gösterir. 2. WEB PROGRAMLAMA DİLLERİ HyperText Transfer Protocol (HTTP)'nin ortaya çıkışı ile Internet gerçek kimliğine kavuşmuştur. Bu sayede, Web sunucusu ile konuşan bir Web tarayıcının sunucudan aldığı zengin içerikli bilgi, uç kullanıcılara resim, ses, görüntü gibi zengin içerikte ve kullanıcı dostu bir ara yüzle ulaştırılabilir hale gelmiştir [7]. Bu zengin içeriğin değişmeyen sayfalar olarak tutulması kullanıcılar için çok şey ifade etmediği için onlara içeriği otomatik değişebilen ve veri tabanı erişimi sunan siteler oluşturmak için çok çeşitli teknolojiler geliştirilmiştir. Web ortamında dinamik sayfalar oluşturmanın temel olarak iki yolu vardır: Sunucu tarafında çalışan uygulamalar kullanmak ve İstemci tarafında çalışan uygulamalar kullanmak. İstemci tarafında çalışan uygulama olarak; Java Appletleri, Netscape'in JavaScript'i ve Microsoft'un VBScript'i gibi betik dilleri kullanılabilir. Avantajları: Sunucuyu meşgul etmemesi: Veri girişi kontrolleri, menüler, genişleyebilir listeler gibi istemci tarafında yapılabilecek işler için sunucu meşgul edilmemiş olur. Bant genişliğini etkili kullanma: Yukarıdaki avantaj bant genişliğini de etkilemiş oluyor. Sunucu tarafında çalışan uygulamaları kullanmak ise, şu noktalarda istemci taraflı uygulamalara üstünlük sağlamaktadır: 1. Web tarayıcılarında betikler için standart bulunmamaktadır. Bu nedenle bir tarayıcıda çalışan bir betik diğerinde çalışmayabilir. Tarayıcıların Java Appletleri yorumlamada kullandıkları Java sınıflarının versiyonu tüm Appletleri çalıştıramayabilir. 2. Bant genişliğini kullanım açısından, işlemlerin önemli bir bölümünün sunucu tarafında yapılması gerekir.

3. Uygulamaların güncel tutulması ve bunu yaparken de istemciler üzerinde değişiklik yapılmayıp sadece sunucu üzerinde (tek bir merkezden) gereken değişikliği yapmak tercih edilir. Yukarıda genel olarak verilmeye çalışılan Web programlama dillerinin türleri ve detayları aşağıda sunulmuştur. 2.1. CGI Web geliştiriciler statik sayfalardan, akıllı dinamik sayfalara geçmek istediklerinde, kısa adı CGI olan Common Gateway Interface (Ortak Giriş Arayüzü) teknolojisini geliştirdiler. Bu geliştiricilerin asıl istediği, Web sunucusu üzerinden sunucu tarafında programlar çalıştırabilmekti [8]. Bu yeni teknolojiye Common Gateway denilmesinin üç önemli sebebi vardır: CGI programları sunucudan bağımsızdır, CGI programları hemen her dille yazılabilir ve Hemen her istemcide çalışabilir. CGI programlarında temel fikir, uygulamaların mantık katmanının, sunucu tarafında oluşturulmasıdır [9]. 2.2. ASP ASP, yani Active Server Pages (Aktif Sunucu Sayfaları) Microsoft firması tarafından klasik HTML sayfalarına dinamik bir yapı kazandırmak amacıyla ortaya çıkarılmış bir teknolojidir. ASP de bu yeni teknolojinin yeni bir parçası olmuştur [10]. Web sunucu programları, sabit disk üzerinde yer alan bilgileri istemcinin tarayıcı programına göndermekle sınırlı olan bir yapıya sahiptir. Web sunucusunun kullanıcıya statik bilgi sunmasının yanı sıra ziyaretçiden de veri kabul etmesinin gerekli olacağı düşünülür. Böylelikle Web sitesi üzerinden kullanıcının taleplerine göre tepki veren bir bilgi sunumu gerçekleşmiş olacak, ayrıca ziyaretçiden de veri alınabilecek bir yapı kurulmuş olacaktır. Microsoft ASP, etkileşimli Web sayfalarını oluşturmak, güçlü ve hızlı Web uygulamalarını geliştirmek için, sunucu tarafında işleyen komutlar dizisidir. Tasarımı yapılmış bir ASP uygulaması uzantısı.asp ile kaydedilmiş olan bir metin dosyası içerisinde yer almaktadır. Başka bir ifadeyle ASP, JavaScript gibi, VB Script gibi komutları, düz yazı dosyası olarak

kaydedilen ve çalışabilmesi için yorumlayıcıya ihtiyacı olan bir dildir. Sunucu kendisinden.asp uzantılı bir dosya talep edildiği zaman, dosyada yer alan komutları kontrol edip işler. Yani uzantısı.asp olan her dosya, istemci bilgisayarına gönderilmeden önce sunucuda ASP.DLL ismi verilen bir DLL'de çalıştırır [11]. Bilgisayar programcılarının geliştirdikleri uygulamaları dünyanın her yerinden erişilebilecek bir platforma kavuşturmak ASP ile mümkün olmuştur. ASP dosyaları; 1- Ziyaretçi tarafında çalışan HTML komutlarını, 2- Veritabanına bağlanmayı, veritabanı işlemlerini belirleyecek cümleleri, 3- Yürütülecek işlemler zincirinin hizmet ettiği çeşitli görevleri sağlayan COM bileşeni çağrılarını içermektedir. 2.3. PHP PHP, bir betik dilidir; yani kodları düz yazı dosyaları halinde kaydedilir ve kullanılacağı ortamda bir yorumlayıcı tarafından yorumlanır. PHP Betikleri çalıştırabilmek için bu dili yorumlayabilen bir program gereklidir. Bu programın tek başına çalışması mümkün olduğu gibi, Web sunucu tarafından da çalıştırılabilir. İster kişisel bilgisayarda, ister Internet ortamında olsun, bir Web Sunucu, ziyaretçinin talep ettiği dosya adının uzantısı olarak.php,.php2,.php3, veya.php4 görünce, işlem yapmaya başlar. Web sunucuya bu sayfayı olduğu gibi alıp ziyaretçinin tarayıcısına göndermek yerine, önce PHP yorumlayıcıyı çağırır. PHP yorumlayıcısı, kendisine teslim edilen bu belgede önce "<?PHP" ve "?>" ayraçları arasındaki PHP kodlarını seçerek alır ve işlemi yapar. Bu işlemin sonunda ortaya çıkan ürün eğer ziyaretçiye gönderilecekse, HTML etiketleri içinde gönderilir; yani ziyaretçi asla PHP kodlarını göremez [12]. "<?PHP" ve "?>" ayraçların içinde kalan kodlar, yapılacak işlemin komutlarıdır. HTML ile yetinmeyip, PHP kullanılmasının sebebi, bu komutların HTML'in yapamayacağı şeyleri yapmasıdır. HTML'in yapamayacağı şeylerin başında, Web sunucusunda yapılacak işler vardır. Sözgelimi HTML etiketlerini kullanarak, Web sunucusundaki bir veritabanı dosyasını açıp, içindeki veriler okunamaz. HTML etiketleri ile Web ziyaretçisinden bilgi edinebilir ve bunlar sunucuya yollanabilir. Bu bilgileri, işe yarar şekle sokmak için, sunucuda

çalışan bir program gerekir. Sunucuda çalışan program, EXE, DLL veya Java Server Pages gibi bir gerçek program veya PERL, ASP ve PHP gibi betik diliyle yazılmış bir program olabilir. 3. UYGULAMALAR Bu bilgiler ışığında, CGI, ASP ve PHP Web programlama dilleri kullanılarak aynı işlemi yapan üç ayrı uygulama hazırlanmıştır. Uygulama yapılırken ulaşılması istenen amaç; günümüzde yaygın olarak kullanılan Web programlama dillerinin performans analizini yapmaktır. Örnek uygulama olarak; Web de yayımlanan tüm Web siteleri için kullanılabilir olan, site içi üyelik sistemi seçilmiştir. Üyelik sistemi, günümüzde geçerliği olan CGI, ASP ve PHP Web programlama dilleri kullanılarak ayrı birer uygulama olarak yapılmıştır. Tüm bu uygulamalar yerel olarak çalıştırılarak, test sonuçları elde edilmiştir. Örnek program uygulamalarında sayfada hata olmaması durumunda hafızaya fazla iş düşmemektedir. Yapılan değerlendirmelerde, her bir uygulamada %1 ile %3 arasında hafıza kullanımında farklılıklar görülmüştür. Bu nedenle, uygulamaların üç aşamada CPU ya bindirdiği yük gözlenerek şekil.1, şekil.2 ve şekil 3 te çıkarılmıştır. 1. Giriş sayfasının yüklenmesinde: Giriş Sayfası 120% CPU Kullanımı (%) 100% 80% 60% 40% 20% 0% 1 2 3 4 5 6 7 8 9 10 11 12 13 Zaman (msn) CGI ASP PHP Şekil 1. Giriş Sayfası Yüklenirken CPU Kullanım Oranı

2. Sisteme kayıtlı kullanıcının, kullanıcı adı ve parola girmesiyle, bu bilgilerin kontrolü ve yeni sayfaya yönlendirilmesinde: Üye Girişi 60% CPU Kullanımı (%) 50% 40% 30% 20% 10% CGI ASP PHP 0% 1 2 3 4 5 6 7 8 9 10 11 12 13 Zaman (msn) Şekil 2. Üye Girişi Yapılırken CPU Kullanım Oranı 3. Sisteme yeni üye kaydının yapılması sürecinde: Yeni Üye Kaydı 60% CPU Kullanımı (%) 50% 40% 30% 20% 10% CGI ASP PHP 0% 1 3 5 7 9 11 13 15 17 19 Zaman (msn) Şekil 3. Yeni Üye Kaydı Yapılırken CPU Kullanım Oranı Şekillerden görüleceği üzere PHP ile yapılan uygulama her üç değerlendirmede de en iyi sonucu vermektedir.

4. SONUÇLAR Günümüzde yaygın kullanım alanı bulmuş olan Web programlama dillerinden CGI, ASP ve PHP dilleri incelenmiştir. Web tasarımında HTML ile oluşturulan sayfaların dinamik içerikli olabilmesi için gerekli olan Web programlama dilleri ile uygulamalar geliştirilmiştir [13]. CGI, ASP ve PHP kullanılarak birer örnek uygulama üzerinde, performans değerlendirmesi yapılmıştır. Performans değerlendirmesi; seçilen uygulamada, en çok kullanılan bölümler olduğu için, her bir uygulamada ki giriş sayfası, üye girişi ve üye kaydı bölümleri üzerinde yapılmıştır. Her bir bölümün çalıştırılması durumunda, CPU yu meşgul etmesi % cinsinden ölçülmüştür. Sunucu bilgisayarında, uygulama öncesi CPU nun %3 oranında meşgul olduğu şekil 1, 2 ve 3 te görülmektedir. Aşağıda ki Tablo 1 de ise bu değerlendirme oranlarının ortalamaları verilmiştir. Buradan da görüleceği üzere CPU ya bindirdiği yük açısından değerlendirildiğinde, PHP ~9.3 % ile en iyi performansı sağlamaktadır. Giriş Sayfası Üye Girişi Üye Kaydı Toplamda CGI 64 20 17 ~33.6 ASP 58 11 10 ~26.3 PHP 10 10 8 ~9.3 Tablo 1. Ortalama CPU Kullanımı (%)

KAYNAKLAR [1] http://www.microsoft.com/mind/0100/vml/vml.asp (Erişim tarihi:nisan 2004). [2] Sung-Jung, H, Wen-Tsai, S, Shih-Ching O, Web-based search system of pattern recognition for the pattern of industrial component by an innovative technology, A Learning Science and Technology Laboratory, Department of Computer and Information Science, National Chiao Tung University, Taiwan, 2003. [3] Holzner, S. Java Script Temel Başvuru Kılavuzu, ISBN: 975-2973-31-0, Alfa Yayınları, İstanbul, 2003. [4] HOLZSCHLAG, M. E. H TML 4, ISBN: 975-322-176-0, Sistem Yayıncılık, İstanbul, 2004. [5] Uysal, M. 2001, Web Teknolojileri, ISBN: 975-486-440-8, Beta Yayınevi. 2002. [6] Varsha, A, Tony, H, Paul R, Performance comparison of dynamic Web platforms, A Department of Computer Science and Engineering, Indian Institute of Technology-Bombay, Mumbai 400 076, India, 2002. [7] Uysal, M. 2001,PHP 4 ile Web Tasarımı, ISBN: 975-486-440-8, Beta Yayınevi, 2001. [8] http://hadi.ulakbim.gov.tr/myworks/internethaftasi2001/classic/php_1.myhtml (Erişim tarihi: Nisan 2004). [9] Acar, Ö. PERL/CGI, ISBN: 975-7092-25-0, Pusula Yayıncılık, İstanbul, 2001. [10] ASP Standarts of the Internet Information Server Resource Kit, ISBN: 020-1658-49-0, Microsoft Pres,1988. [11] Arslan, S. İleri Active Server Pages (ASP), ISBN: 975-6812-76-2, Türkmen Kitabevi, İstanbul, 2003. [12] Ullman, L. PHP for the World Wide Web Visual Quickstart Guide, ISBN: 020-1727- 87-0, Peachpit Press 2001. [13] Özdemir, T.Y. Web Programlama Dilleri, Yüksek Lisans Semineri, Fırat Üniversitesi Fen Bilimleri Enstitüsü, 2004.