Skip to content

Son Yazılar

2
Nis
rss

PHP ile RSS tarihi oluşturma

Gelişen sosyal ağlar beraberinde tüm web site sahipleri için yenilikleri ve uygulamaları rekabet artırmaya yönelik geri dönüşleri sağlıyorlar.Özellikle Facebook Sayfa sahipleri otomatik RSS’ler ile sitelerine ziyaretçi çekebiliyorlar.Küçük bir php kodu paylaşmakta fayda var.Aşağıdaki kod Veritabanınıza yazmak üzere olduğunuz içeriğinizin RSS Tarihini uygun biçimde formatlamaya yarar.

<?php
echo $date = gmdate('D, d M Y H:i:s \G\M\T');
?>
16
Mar
twitter_litespeedtech_logo (1)

Yüksek hitli sitelere çözüm

Özellikle büyük projeler günümüzde geleceğe dayalı geliştirilmiyor.Türk mantığı bir deneyim geliştirelimde sonucu iyi çıkarsa geleceğe dayalı yaparız işte :) .Fakat ansızın önemsenmeyen küçük bir fikir olağan büyüme potansiyeli oluşturabiliyor.

Projeniz web tabanlı ise PHP kullanıp Linux sunucuda barınıyor iseniz günlük 50.000 yakın ziyaretçim var yazılımımıda iyi geliştirdim halen performans sorunum var diyorsanız.İşte tam burada LiteSpeedTech yardımınıza koşuyor.Kendisi php yorumlayıcısı olur, Apache devre dışı bırakıp tek başına PHP anlar çözer ve mevcut sunucunuza 9-10 kat performans sağlar.

Örnek veriyorum normal konfigrasyonlarda bir sunucunuz var 4 GB ram var bunu 16 GB yapmak kaynağa maliyet artırır.Bunu yapmak yerine 50 TL her ay verin sunucunuzun mevcut konfigrasyonun 10 Kat olduğunu düşünün yani diyelimki 2 gb RAM belleğe sahip bir VDS’niz var ise bunu 2*10 yapın 20 GB RAM belleğe sahip bir sunucu olarak hayal edin ve hayalinizde anında gerçekleşsin :)

Günümüzde milliyet, hürriyet, posta, vatan, kanald ve  haber24 bizzat geliştirdiğim vakit bu teknolojiyi uyguladım.Ortalama haber24.com 80 bin günlük anlık 1000 tekil ziyaretçi desteğini mysql sorgularına kadar tek bir performans sorunu yaşamadım bu güzellikten lütfen sizde faydalanın inanın çok kazanacaksınız.

4
Ara
dennis-ritchie-hayatini-kaybetti

Unix ve C programlama dilinin babası Dennis Ritchie öldü

 

Unix ve C programlama dilinin babası Dennis Ritchie öldü

Steve Jobs kadar medyatik olmasa da en az onun kadar önemli bir isim olan C programlama dilinin ve Unix işletim sisteminin babası Dennis Ritchie 71 yaşında hayata veda etti.

C programlama dilini arkadaşı Ken Thompson’la beraber Bell labaratuarlarında geliştiren Ritchie, birçok bilgisayar mühendisinin idolüydü.

Dennis Ritchie ve Brian Kernighan​ tarafından 1978 yılında yayınlanan ve tüm dünyaya bu yeni dili öğreten ‘The C Programming Language’ kitabıysa bugün hala C dilinin kutsal kitabı olarak görülüyor.

Dennis Ritchie Unix işletim sisteminin gelişmesi için ömrü boyunca bir çok çalışmada yer almış, bu işletim sisteminin özellikle sunucular üzerinde çok yaygın olarak kullanılmasının en önemli temsilcilerinden biri olmuştur.

Unix için söylediği ”UNIX, temelde basit bir işletim sistemidir, ama bu basitliği anlamak için bir dahi olmanız gerekir” sözü bir fenomendir.

12
Kas
performance-arrows-300x200

PHP ve MySQL siteleriniz için Performans: Cache

 

PHP ile MySQL den gelen verileri önbelleğe almak

Biliyorsunuz ki günümüzde PHP ve MySQL ile yapılan projelerde sonradan karşılaşılan en büyük sıkıntılardan biri Performans problemidir.Sunucularda aşırı yük oluşturan MySQL sorguları siteniz üzerinde yüksek trafiğiniz mevcut ise MySQL sorguları CPU yoğun baskı yapar.Bu baskının getirisi sayfalarınızın geç açılmasına, sunucunuzun kilitlenmesine ve en önemlisi arama motorları ve kullanıcıların sitenizdeki etkişiminin azalmasına sebep oluyor.İşin maddi boyutundan incelersek çok fazla kaynağın tüketilmesi maliyetide yükseltiyor.

Bir kaç takım işlem ile MySQL sorgularını nasıl aza indirebileceğimizi görelim.Böyle bir işlem için yapılan en iyi yöntemlerden biri Cache(Ön bellek) üzerinde veriyi tutma.Düşünün sitenize binlerce aynı MySQL sorgularını yapan kullanıcıların olduğunu.

Peki nasıl bu sorguları cache yani önbellekleriz ve tasaruf ederiz ?

Diyelimki günde 50 bin kullanıcının ziyaret ettiği bir siteniz mevcut, ve sizin içerikleriniz sadece 1 defa MySQL sorgusundan geçsin ve belirlediğiniz zaman aralığında sorgular yinelensin, ve MySQL sorguları bir TXT sayfası olarak web sitenizin alanında dosya olarak kayıtta tutulsun, 1 kullanıcı MySQL sorgusu yapsın geriye kalan 49.999 kişi ise gelen sorguları TXT sayfasını görüntülesin ?

Peki nasıl bir performans sağlar ?

Yaklaşık %300′e kadar bir performans sağlarsınız.

Testimize başlayalım ve nasıl olduğunu görelim
Elimizdeki veriler yerel bilgisayarımda bir veritabanı oluşturdum adına db deyip vt adlı tablo oluşturdum ve içerisine iki alan ekledim id(int=2), ad(varchar=225) id eklenen verilerin sıralama id’si ad ise eklenen veri toplam 6,000 adet ErdalV yazısını vt tablosuna ekledim.

Şimdi gelelim kodlarımızı yazmaya

index.php içeriği

<?php
$old = microtime(true);

    include_once "class/ez_sql_core.php";
    include_once "class/ez_sql_mysql.php";

    $db = new ezSQL_mysql("root","","db","localhost"); 

    // saniye cinsinden
    $db->cache_timeout = 10;
    $db->cache_dir = 'ezsql_cache';
    $db->use_disk_cache = true;

    // cache başlangıç
    $db->cache_queries = true;

    // VT adlı tablodaki tüm kayıtları listeler ve ekrana yazdırır.
    foreach($db->get_results("SELECT * FROM vt") as $yaz){
        echo $yaz->ad;
        }

    $db->cache_queries = false;
    // cache bitiş

// sayfanın yüklenme süresini gösterir        
?>
<br />
<?php echo number_format(microtime(true) - $old, 8); ?>

Şimdi sıra gözlemlemede

Aşama 1: Sayfamızı açıyoruz

İlk sayfamızı açınca ekranda 6000 adet ErdalV yazdırıyor saniye cinsinden aldığımız değer ise 0.13230205 yani ortalama 1 saniye 3 salise ve küsürat şeklinde.

Aşama 2: Sayfamızı tekrar açıyoruz

Sayfamızı açınca ekranda yine 6000 adet ErdalV yazdırıyor saniye cinsinden aldığımız değer ise 0.04268384 yani ortalama  4 salise ve küsürat şeklinde.

Aşama 3: Sayfamızı tekrar açıyoruz

Sayfamızı açınca ekranda yine 6000 adet ErdalV yazdırıyor saniye cinsinden aldığımız değer ise 0.04598498 yani ortalama  4 salise ve küsürat şeklinde.

Artık bu noktadan sonra eminkim ki sizde performansı gözle görebiliyorsunuz, %300 ve performansı artırmanın süreside sizin elinizde ben cache süresini 10 sn. yaptım yani her 10 sn. de bir SQL sorgum yenileniyor.

Anlacağınız üzere bir diğer hesaplama yapmayıda size bırakıyorum, 50 bin kişinin göreceği ortalama sorguların süresi 0.13230205 ise verileriniz sorgularınızı cache alırsanız bu sorgu süresini sadece 1 kişi görmüş olur diğer 49.999 kişi ise ortalama 0.04 salise görüntüler.

Ek bir bilgi: Sitenizi ziyaret eden kullanıcılar sitenizi sadece 1 defa yüklemez, aynı kişi sitenizde sayfa içerisinde mutlaka gezecektir buda her sayfa gösteriminde yeniden MySQL sorgulanmasına sebep olur sorgularınızı Cache yani önbelleğe kayıt ederek ve önbellek süresini uzatırsanız müthiş performans alırsınız, ve en basitinden sunucular sitelerinizden korkmazlar :)

Konu ile ilgili merak ettiklerinizi sorabilirsiniz, elimden geldiği kadar cevaplamaya çalışırım.

11
Kas
title_tags1-e1266778042201

ErdalV Blog sayfam yayında..

İlk yazımla blog sayfama start veriyorum, bu blogu inşa etmeden önce insanlık için ne kadar faydalı olabileceğimi düşündüm ve içimdeki ses; bilgilerini paylaş yoksa toprağa gidecek, deyip duruyor.

Öncelikle neler paylaşacağız bunları dizginleyelim;

PHP Blogları neredeyse yüzleri aştı ve PHP Türkiye’de gittikçe popüleritesini kazanmakta ve öğrenmeye heveste arttı.Bizde güncel olarak PHP konusuna değineceğiz, css derslerini Fatih Hayrıoğlu çok başarılı bir şekilde dizginlemiş, arada bir bende ele alacağım.

Yakuter uzun süredir takip ediyorum başarılı çalışmaları oluyor, PHP için bu siteyede arada uğrayın.Temel düzeyde PHP5 Eğitim seti için TürkEkip CDlerini şiddetle tavsiye ederim.Nesne Yönelimli Programlama kavramı Türkiye’de yeni yeni gündeme taşınan ve içeriği artık bulunan konular haline geldi, bende NYP(Nesne Yönelimli Programlama) yada ingilizce tabiri ile OOP(Object-oriented programming) kavramlarına değineceğim.

Tabi JavaScript, JQUERY ile ilgili yazılarımda olucak ve bunlar üzerine yazılar yazacağım, ve elimden geldiği kadar genel sorularınızı cevaplamaya çalışacağım.

Ara sıra algoritmalar üzerinde yazılar yazmayı planlıyorum umarım hayırlara vesile olur, amacım aslında bu işe heves salmış  kardeşlerim, abilerim, ablalarım en azından birinin gelişimine faydalı olmaya çalışmak olucak.

Kişisel gelişim için hayatta izlediğim metodlardan bahsedeceğim.Kendim hakkında ve projelerim hakkında zamanla size bilgiler aktıracağım.

Bir dahaki yazımda görüşmek üzere.