4.35. ASP, PHP ve CGI YAZILIMLARIN PERFORMANS ANALİZİ



Benzer belgeler
1.PROGRAMLAMAYA GİRİŞ

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

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

08220 Internet Programcılığı II

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

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

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

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

PROGRAMLAMA DERSİ 1. İNTERNET

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


İNTERNET PROGRAMCILIĞI - II

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

Program AkıĢ Kontrol Yapıları

PHP 1. Hafta 1. Sunum

ÖĞRENME FAALĠYETĠ 3 ÖĞRENME FAALĠYETĠ 3

Öğr. Gör. Serkan AKSU 1

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.

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

İNTERNET PROGRAMLAMA II. Tanımlar

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

İÇERİK YÖNETİM SİSTEMİ KULLANMA KILAVUZU

20../20.. EĞĠTĠM-ÖĞRETĠM YILI. BĠLĠġĠM TEKNOLOJĠLERĠ WEB TASARIM VE ĠNTERNET DERS DIġI EGZERSĠZ ÇALIġMA PROGRAMI

T.C. ORTA KARADENİZ KALKINMA AJANSI GENEL SEKRETERLİĞİ. YURT ĠÇĠ VE DIġI EĞĠTĠM VE TOPLANTI KATILIMLARI ĠÇĠN GÖREV DÖNÜġ RAPORU

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

08217 Internet Programcılığı I

Internet Programlama (ISE 311) Ders Detayları

GÜNEġĠN EN GÜZEL DOĞDUĞU ġehġrden, ADIYAMAN DAN MERHABALAR

3.8. ESTA BĠLGĠSAYAR YAZILIMI ĠLE UZMAN SĠSTEMLERĠN HAZIRLANMASI TEKNĠKLERĠ

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

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

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

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

5.49. METRO ULAŞIM SİSTEMİ OTOMASYONU

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.

HĠTĠT ÜNĠVERSĠTESĠ. SÜREKLĠ EĞĠTĠM UYGULAMA VE ARAġTIRMA MERKEZĠ FAALĠYET RAPORU

MUSTAFA KEMAL ÜNĠVERSĠTESĠ BĠLGĠSAYAR BĠLĠMLERĠ UYGULAMA VE ARAġTIRMA MERKEZĠ YÖNETMELĠĞĠ

Temel Bilgisayar (Basic Computer) Yazılım (Software)

08220 Internet Programcılığı II

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

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

Bilgi Servisleri (IS)

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

Free, Open Access, Medical Education Serbest,Açık Erişimli Tıp Eğitimi Kısaca FOAM adı verilen ve Free, Open Acess, Medical Education manasına gelen

Ġnternet ve Harekât AraĢtırması Uygulamaları

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

FIRAT ÜNĠVERSĠTESĠ ÖĞRETĠM ELEMANLARI ĠÇĠN YENĠ BĠR UZAKTAN EĞĠTĠM SĠSTEMĠNĠN TASARIMI VE MODELLENMESĠ

Java Programlama Giriş

Veritabanı Yönetim Sistemleri I

AYLIK GENEL DURUM DEĞERLENDĠRMESĠ

KAPSAM HAFTALARA GÖRE DERS PROGRAMI ÖNERĠLEN KAYANAKLAR ÖĞRETME VE ÖĞRENME STRATEJĠ VE TEKNĠKLERĠ ÖLÇME VE DEĞERLENDĠRME YÖNTEMLERĠ

2010 YILI OCAK-HAZĠRAN DÖNEMĠ

ĠnĢaat Yönetimi Alanında Yapı Maliyeti Hesapları Ġçin Sunucu Tabanlı Uygulamalar

MCR02-AE Ethernet Temassız Kart Okuyucu

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

BĠLĠġĠM TEKNOLOJĠLERĠ ALANI

ÜRETĠM TESĠSLERĠ BÖLGESEL BAĞLANTI KAPASĠTE RAPORU

NEVġEHĠR ÜNĠVERSĠTESĠ BOLOGNA SÜRECĠ

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


T.C. ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ STAJ RAPORU. Buraya Öğrencinin Adı Soyadı yazılacaktır

SERVĠS KULLANIM KĠTAPCIĞI. Websiteniz için Arama Motoru Optimizasyon Merkezi

Üst Düzey Programlama

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

İletişim Programlarına Özgü Öğretim Çıktıları

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

5.31. MODÜLER MOBİLYA ÜRETİMİNDE KULLANILAN SERİ ÜRETİM HATLARINDAN ZIMPARA MAKİNASININ BESLEME ÜNİTESİ OTOMASYONU

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

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Şekil 1 : Şablonumuzun Photoshopda açılmış hali

JAVASCRIPT JAVASCRIPT DİLİ

ASLAN ÇİMENTO A.Ş FAALİYET RAPORU

Üst Düzey Programlama

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

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

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

Tanıtım Sunumu Internet Programcılığı II. ASP and ASP variables. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 02 Eki.

MODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan,

Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi Servisler Nasıl Verilebilir?

Açık Kaynak Kodlu Yazılım

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

T.C. BĠNGÖL ÜNĠVERSĠTESĠ REKTÖRLÜĞÜ Strateji GeliĢtirme Dairesi BaĢkanlığı. ÇALIġANLARIN MEMNUNĠYETĠNĠ ÖLÇÜM ANKET FORMU (KAPSAM ĠÇĠ ÇALIġANLAR ĠÇĠN)

Veritabanı. Ders 2 VERİTABANI

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

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Clonezilla Server ile Ağ Üzerinden Çoklu İmaj Yükleme

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

Internet Programlama (ISE 311) Ders Detayları

ASLAN ÇİMENTO A.Ş FAALİYET RAPORU

Fırat Üniversitesi Personel Otomasyonu

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

2010 YILI OCAK-HAZİRAN DÖNEMİ 1

YZM 3215 İleri Web Programlama

BÖLÜM I. 1.1.GİRİŞ. ĠĢitileni almak ve saklamak ya da iģitileni anlamak amacıyla dikkat harcamak (Sever, 2000:11).

Mühendislik ve Mimarlık Fakültesinde Ekonomi Dersinin Önemi

Mobil Cihazlardan Web Servis Sunumu

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

WEB TABANLI VERİ DÜZENLEME VE ETKİLEŞİMLİ HARİTA SUNUMU UYGULAMASI (WEB BASED DATA EDITING AND APPLICATION OF DISPLAYING MAPS WITH INTERACTIVELY)

Transkript:

4.35. ASP, PHP ve CGI YAZILIMLARIN PERFORMANS ANALİZİ AraĢ. Gör. Ferhat BAĞÇACI, Prof. Dr. Asaf VAROL Fırat Üniversitesi Teknik Eğitim Fakültesi ferhatb@firat.edu.tr, asaf_varol@yahoo.com Özet Bu çalıģmada, web tabanlı programlama dilleri konusunda yapılan araģtırmalar ve yöntemler incelenmiģtir. ASP, PHP ve CGI programlama dillerinin ortak özellikleri olan web tabanlı yazılımlara genel bakıģ, avantajları ve dezavantajları, çalıģma prensipleri, kullanım alanları, bakım ve kurulum kolaylıkları vs. yönünden bir değerlendirilmesi yapılmıģtır. Bu dillerinin her biri ile ayrı ayrı hazırlanan 5 farklı uygulamanın sonuçları birbirleri ile karģılaģtırılarak, hız açısından irdelenmiģtir. Sonuçta ASP, PHP ve CGI kullanılarak web tasarımı yaparken, nelere dikkat edilmesi gerektiği konusunda öneriler sunulmuģtur. Anahtar Kelimeler Performans analizi, Web programlama, Web tasarımı, 1297

ABSTRACT In this study, we examine the methods and the researches about the web based programming languages. A general evaluation is given for the examined web based programming like ASP, PHP and CGI languages according to their common features, advantages, disadvantages, working principles, application areas, maintenance, set up conveniences. Moreover, it is compared the web based programming languages according to their working performances with five different application samples which are prepared by us. Finally, some recommendations are offered about design of web pages using ASP, PHP and CGI software. Keywords Performance analysis, Web design, Web programming 1.GİRİŞ ĠletiĢim ve biliģim alanındaki geliģmeler, günlük yaģantımızı yakından ilgilendirmektedir. Geçen yüzyılın ikinci yarısında belirgin olan teknolojik geliģmeler, çeģitli otonom cihazlar olarak insanoğluna hizmet vermektedir. Son yıllarda otomasyon sistemlerindeki muhteģem geliģmeler sayesinde, insan gücüne dayalı birçok iģin teknoloji ürünleri ile kolayca yapılabildiği bilinmektedir. Bilgi ve iletiģim teknolojileri birbirleriyle yarıģırcasına geliģmeyi sürdürürken, çağımızda bu iki kavram birbirinden ayrılmaz hale gelmiģtir. Bilginin iletiģimi ve paylaģımı olan Internet; 21. yüzyıla damgasını vuracak bir bilgi iģlem teknolojisidir. Günümüzde artık "Sanayi toplumu/devrimi" 1298

kavramları, yerini bilgi toplumuna (3. Sanayi devrimi diye de adlandırılmaktadır) bırakmıģtır[1]. Günümüzde Internet'in kullanımı çok hızlı bir Ģekilde geliģme göstermektedir. Uzaktan eğitimle doğrudan iliģki içerisinde olan bu aracı kullanmaya baģlayanlar artık kolay kolay terk edememektedirler[2]. 21. yüzyılın baģlarından itibaren yazılım alanında çok önemli geliģmeler kaydedilmektedir. Büyük yazılım Ģirketleri, mükemmel programlarını çok kısa sürede geliģtirebilmekte ve topluma sunabilmektedir. Web tabanlı programlama dilleri alanında çok büyük geliģmeler yaģanmakta ve bazen hangi yazılım daha mükemmel olduğu konusunda tereddütler dahi geçirilebilmektedir. 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[3]. 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. Ġ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. ASP, PHP, CGI gibi diller sunucu taraflı betik dilleri, JavaScript, VBScript, JavaScript gibi diller ise istemci taraflı betik dilleri olarak bilinir. Bu çalıģma, yaygın kullanılan web tabanlı programlama dilleri hakkında bazı önemli bilgilerin sunulmasını ve web tabanlı programlarla yapılmıģ uygulamaları içermektedir. Böylece gerçek gözleme dayanılarak yapılan 1299

yorumlar ile hangi dilin kullanılmasının daha avantajlı olabileceğine açıklık getirilmiģtir. 2.ASP (Active Server Pages) ASP (Active Server Pages) Türkçe si aktif sunucu sayfaları, dinamik web sayfaları üretmek için Microsoft firması tarafından geliģtirilmiģ bir Internet teknolojisidir. ASP birçok dille yazılabilir (VBScript, JScript, PerlScript, PHPScript). ASP tek baģına bir programlama dili değildir. Yani ASP belgeleri bir program gibi yazılıp, ardından derlenip çalıģtırılmazlar. ASP belgeleri.asp dosyası olarak yapacağı iģleme göre HTML kodlarından ve VBScript gibi scripting (komut dosyası yazmak) komutlarından oluģur. ASP sayfalarının yaratılmasında herhangi bir dile bağlı olmamak için script (komut dosyası yazmak) dilleri kullanılmıģtır. Ancak programcıların HTML, VBScript ve JavaScript script yazma dillerinin temellerini bilmesi gerekir[5]. 3.PHP (Personel Home Page) Rasmus Lerdorf, Internet in henüz yayıldığı 1990'ların ortalarına doğru iģ ararken, hayat öyküsünü bir kiģisel sayfada yayınlamak ve baģvuracağı yerlere bu sayfanın adresini verebileceğini düģünmüģtür. Fakat o dönemde özellikle üniversitelerin Unix ağlarında kurulan Web Sunucularda kiģisel sayfa yapmak kolay değildi. Rasmus, kendisi için hazırladığı yazılımın Web'e aģina olmayanlar tarafından da kolayca kullanabileceğini düģünmüģtür. Bu yazılımın büyükçe bir bölümü Perl dilinden alınmıģtır. Adına Personal Home Page (KiĢisel Ana Sayfa) dediği bu programın çok tutulması üzerine Rasmus Lerdorf, Internet sitesi kuran herkesin birinci gün değilse bile ikinci gün farkına vardığı ihtiyacı, yani bir form yoluyla 1300

ziyaretçiden gelen bilgileri iģlemeyi sağlayan ekleri yazmıģtır ve programın adı PHP/FI (Form Interpreter/Form Yorumlayıcı) olmuģtur. Linux'un önümüzdeki yıllarda en çok kullanılan iģletim sistemi olacağı yolundaki bilgiler kuģkusuz en çok Linus Torvalds'ı ĢaĢırtmıĢtır. Linux'un bu baģarısındaki en önemli anahtar, nokta olan açık kaynak geliģtirilmekte ve dünyanın her yerinden yazılım geliģtiricilerin desteğini almaktadır. Aynı baģarıyı Web yazılım geliģtirme dili PHP de göstermektedir. PHP bundan iki yıl öncesine kadar adı duyulmamıģ basit bir dil idi. Ancak Ģimdi gerek performans ve gerekse destek açısından diğer Web yazılım geliģtirme dilleri ile kolayca yarıģabilmektedir. 4.CGI (Comman Gateway Interface) CGI (Common Gateway Interface), Web Servisleri ile bu servislerin dıģındaki programlar arasında etkileģim (ortak çalıģma) platformu oluģturmak için geliģtirilmiģ bir standarttır. CGI programcıkları Web sunucusu üzerinde çalıģan dıģ kaynaklı programlardır. CGI programcıklarını yüksek etkileģimli Web yayınları yaratmak için kullanabilir. Web sunucuları üzerinde kullanılan yabancı kaynaklı programların standartları ve ortak ağ geçit arayüzünün diğer uygulamalarla etkileģiminin nasıl olması gerektiği belirlenmiģtir. CGI; programcık, sunucu ve diğer uygulamalar arasında bir bağlantı yada ağgeçit tanımlayarak dıģ kaynaklı programları genelleģtirilmiģ giriģler olarak kabul edilebilmesini ve diğer uygulamalara bilgi aktarılabilmesini mümkün kılar. 1301

UNIX sistemlerinde CGI programcıkları usr dosya sistemi içinde cgi-bin olarak adlandırılan kataloglara yerleģtirilmiģtir ve CGI uygulamaları da yine usr dosya sistemi içinde cgi-scr olarak adlandırılan kataloglara yerleģtirilmiģtir[12]. 5.UYGULAMALI ÖRNEKLER Uygulama- 1 (0-10.000.000 Arası Sayan Döngü) Bu uygulamada amaç, PHP, ASP ve CGI kodlarının iģletilme hızlarını karģılaģtırmaktır. Bu uygulamada her üç programda aynı iģi yapacak, yani 0-10.000.000 arası sayacak ve döngü 0 da iken sistem saati alınıp ekrana yazdırılacak, sonra da döngü 10.000.000 da iken sistem saati alınıp ekrana yazdırılacaktır. Her üç program döngü iģleme hızları bakımından karģılaģtırılırken, eģit çalıģma Ģartları sağlanmıģtır[6]. Şekil 2: Test1.asp programı Şekil 3: Test1.php programı 1302

Şekil 4: Test1.cgi programı 5.1 Genel Uygulama Sonucu Yukarıda üç sayfanın da test sonuçları Tablo 1 de görülmektedir. Bu verilerden çıkarılan sonuca göre ASP ve PHP sayfaları birbirine yakın iken, CGI sayfası daha hızlı görülmektedir. Farklı donanıma sahip makinelerde bu uygulama gerçekleģtirilirse farklı değerler elde edilebilir. Ancak aradaki hız iliģkisi yine bu sonuçlara yakın olacaktır. Yani cgi döngü bazında, php ve asp den hızlı çıkacaktır[6]. Programlar Test1.asp Test1.php Test1.cgi Sonuç İşletilme süresi 11 saniye 11 saniye 5 saniye CGI>ASP=PHP Tablo 1. ASP, PHP, CGI Sayfalarının Test Sonuçları (Döngü) Uygulama- 2 (20.000 Adet JPG Resmi Yükleme) 1303

Bu uygulamada PHP, ASP ve CGI dilleriyle hazırlanan sayfalara resimlerin yüklenmesi hususunda hızlarını karģılaģtırmak amaçlanmıģtır. Şekil 5: Test2.asp programı Şekil 6: Test2.php programı Şekil 7:Test2.cgi programı Uygulama için test2.asp, test2.php ve test2.cgi adında 3 sayfa oluģturulmuģtur. Bu sayfaların içerikleri, çalıģtıklarında 20.000 adet resmi yükleyecek Ģekilde tasarlanmıģtır. Ayrıca TEST.swf adındaki küçük flash programıyla asp, php yada cgi sayfalarının sunucudan istenme zamanları da elde edilmektedir[6]. 1304

5.2 Genel Uygulama Sonucu Yukarıda üç sayfanın da test sonuçları Tablo2. de görülmektedir. Buna göre 20.000 adet jpeg resmin yüklenmesini ASP ve PHP programları hızlı ve hemen hemen aynı sürelerde yaparlarken, CGI bu iģlem için çok uzun süre harcamaktadır[6]. Programlar Test2.asp Test2.php Test2.cgi Sonuç İşletilme süresi 1 saniye 1 saniye 60 saniye ASP=PHP>CGI Tablo 2. ASP, PHP, CGI Sayfalarının Test Sonuçları (JPG Resmi Yükleme) Uygulama- 3 (Avi yükleme) Bu uygulamada PHP, ASP ve CGI dilleriyle hazırlanan sayfalara avi formatı gibi (hem görüntü hem de ses) çoklu ortam uygulamalarının yüklenme hızlarını karģılaģtırmak amaçlanmıģtır. Uygulama için test3.asp, test3.php ve test3.cgi adında 3 sayfa oluģturulmuģtur. Bu sayfaların içerikleri poligon.avi adlı dosyayı yükleyip oynatacak Ģekilde düzenlenmiģtir. ÇalıĢtırma iģlemi için yine TEST.swf adlı program kullanılmıģtır 1305

Şekil 8: Test3.asp programı Şekil 9: Test3.php programı Şekil 10: Test3.cgi programı 5.4 Genel Uygulama Sonucu Test sonuçları Tablo3. de görülmektedir. Buna göre avi formatında bir dosyanın yüklenmesini PHP ve CGI aynı sürelerde gerçekleģtirirken, ASP aynı iģlem için dört misli zamana gereksinim duymaktadır[6]. Test3.asp Test3.php Test3.cgi Sonuç Programlar İşletilme süresi 4 saniye 1 saniye 1 saniye PHP=CGI>ASP Tablo 3. ASP, PHP, CGI Sayfalarının Test Sonuçları(Avi yükleme) 1306

Bu uygulamada amaç, PHP, ASP ve CGI kodlarının iģletilme hızlarını karģılaģtırmaktır Uygulamada yine 3 adet php, asp ve cgi sayfası oluģturulmuģtur. Sayfaların içerikleri, 100 faktöriyeli 10.000.000 defa hesaplayacak Ģekilde düzenlenmiģtir. Burada 1-10.000.000 arasındaki döngünün önce 1 de iken sistem saati, sonra 10.000.000 da iken sistem saati alınmıģtır. Böylece aynı iģlemi yapacak olan ASP, PHP ve CGI sayfalarının hangisinin bu iģlemi daha hızlı yaptığı kıyaslanmıģtır [6]. Şekil 11: Test3.php programı Şekil 12: Test3.php programı Şekil 13:Test3.cgi programı 1307

5.5 Genel Uygulama Sonucu Yukarıda üç sayfanın da test sonuçları Tablo4. de görülmektedir. Buna göre 10 milyonluk döngü içerisinde 100 faktöriyel iģleminin yüklenme istatistikleri sonucunda CGI; ASP ve PHP den daha hızlı iģlem yapmaktadır[6]. Programlar Test4.asp Test4.php Test4.cgi Sonuç İşletilme süresi 14 saniye 15 saniye 9 saniye CGI>ASP>PHP Tablo 4. ASP, PHP, CGI Sayfalarının Test Sonuçları (Faktöriyel Hesaplama) 6. SONUÇ VE DEĞERLENDİRMELER Bu çalıģmada, web tabanlı programlama dilleri konusunda yapılan araģtırmalar ve yöntemler incelenmiģtir. Ġncelemeler sonucunda genelde web tabanlı programlama için ASP, PHP ve CGI dillerinin kullanıldığı görülmüģtür. Bu araģtırma sonucunda, web tabanlı programlama dilleri hakkında genel bir bilgi verilmiģtir [6]. Yapılan değerlendirmeler neticesinde, PHP programlama dilinin Ģu anda Dünya da bireysel kullanıcılar için en popüler programlama dili olduğu, performans açısından bakıldığında diğer dillere bir üstünlük sağlamakta olan PHP nin, çeģitli Ģirketlerin laboratuarlarında yapmıģ oldukları hız testlerinde önde olduğu gözükmüģtür. Ancak PHP bir dil 1308

olduğundan dolayı, ASP gibi istenilen bir dille yazılması mümkün değildir. Bu nedenle sadece PHP dilini öğrenmek gerekmektedir. Bu da PHP dilinin önemli bir dezavantajı olarak karģımıza çıkmaktadır. Ayrıca aģağıda verilen Tablo 5. den de görüleceği üzere, iģlem çeģidine göre PHP nin diğer dillere olan üstünlüğünde, değiģmeler olabileceği gerçeği saptanmıģtır [6]. ASP diline bakıldığında ise Java, C++, PHP gibi bir dile gereksinim duymamaktadır. Sadece ASP için bir dil seçilmesi yeterli olup büyük avantaj sağlamaktadır. ASP için en büyük dezavantaj ise Microsoft un çıkarmıģ olduğu iģletim sistemi web sunucuda çalıģması olarak gösterilmektedir. Hız konusunda da gene sıralama, yapılan iģlem çeģidine göre farklılıklar gösterecektir [6]. CGI ile hazırlanan kullanıcı ara yüzlerine bakıldığında ise kolay ve hızlı hazırlanabilmesi, istenilen herhangi bir programlama dilinin kullanılabilmesi, değiģik ortamlarda çalıģabilmesi ve dağıtık ortamlarda kullanılabiliyor olması, CGI ın önemli avantajları arasında sayılabilmektedir. Bu çalıģmada kıyaslamalar yapılırken farklı uygulamalar kullanılarak, söz konusu yazılımların aynı iģlevi ne kadar süratle yaptıkları bulunmuģtur. Ortaya Tablo 5. de verilen ilginç durumlar çıkmıģtır[6]. İşlem Çeşidi İşletme Süresi (Saniye) ASP PHP CGI Sonuç 0-10.000.000 Arası Döngü 11 11 5 CGI > ASP = PHP 20.000 Adet JPG Resmi Yükleme 1 1 60 ASP = PHP > CGI Avi yükleme 4 1 1 PHP = CGI > ASP 10.000.000 Defa 100 Faktöriyel Hesaplama 14 15 9 CGI >ASP > PHP Tablo 5. ASP, PHP ve CGI Yazılımlarının Farklı İşlem Çeşitleri Karşısındaki İşletme Süreleri 1309

Tablo 5. dikkatli incelendiğinde, ASP ve PHP yazılımlarının farklı iģlem çeģitleri karģısında aynı sonucu elde etmek için harcadıkları sürelerin biri birine yakın oldukları görülmektedir. Ancak bu yazılımların iģletme hız performansları ve biri birine üstünlük sıraları, iģlem çeģidine bağlı olduğu gerçeği ortaya çıkmaktadır. Yani örneğin 0-10.000.000 arası sayan bir döngü iģleminde CGI en süratli yazılım olarak karģımıza çıkarken, 20.000 adet JPG resmi yüklemede en hızlı sırayı ASP ve PHP birlikte paylaģabilmektedir. Eğer iģlem çeģidi Avi ise, ilk sırayı PHP almaktadır. Sonuç olarak web ortamında hizmet veren bir yazılım ile ilgili hız konusunda karar verilecekse, iģlem türünün çok önemli bir parametre olarak karģımıza çıkacağı gerçeği asla gözden uzak tutulmamalıdır. Bir iģlem çeģidi için bir diğer yazılım ilk sırayı alırken, bu hız sıralamasında diğer bir iģlemde bir baģka yazılım öne çıkabilmektedir. Bu nedenle hızlı iģleme konusunda karar verirken, iģlem çeģidinin ne olduğu çok açık bir biçimde ortaya konulmalıdır. 1310

KAYNAKÇA 1. VAROL, A.; ALKAN, T. Eğitimde Ġnternet in Yeri, Türk Cumhuriyetleri ve Asya Pasifik Ülkeleri Uluslararası Eğitim Sempozyumu, 24-26 Eylül 1997, Elazığ, S: 172-184 2. VAROL, A., ALKAN, T. Ġnternet e Genel BakıĢ, Uzaktan Eğitim, KıĢ 1998, S: 10-16 3. http://www.core.gen.tr 4. STANEK, William Robert. HTML, JAVA, CGI, SGML, VRML, (Ġstanbul: Sistem Yayıncılık,2000). 5. GÜNEġ, A.: Perl ile CGI Programlama Kılavuzu, 1. Baskı (Ġstanbul: Alfa Yayınları Mayıs 2000). 6. BAĞÇACI, F. Web tabanlı programlama dillerinin değerlendirilmesi ve performans analizi, Yüksek Lisans Tezi, (ELAZIĞ:Fen Bilimleri Enstitüsü, 2005) 1311

1312