Şub 14
Baştan belirteyim, bu yazının amacı template engine (şablon motoru) kullanmayalım ya da performans için her türlü işe yarar objelerden, frameworklerden, component ve yaklaşımlardan uzak duralım değildir. Performans önemli bir konudur ama bir web uygulamasının üretilmesi, üretildikten sonra rahat ve esnek bir biçimde geliştirilebilmesi, vb. de ciddi şekilde önemli konulardır.
Fakat en son Facebook ekibinin HipHop ve XHP gibi konuları gündeme getirmesinden sonra PHP kodlarının performansı üzerinde tekrardan düşünmeye başladım. PHP performansı deyince de ilk aklıma gelen konulardan birisi smarty ve PHPTAL gibi şablon motorlarının kullanımı oldu. Acaba bu şablon motorları ne kadar hızlı çalışıyor diye test etmek istedim.
Smarty uzun süredir kullandığım fakat son dönemlerde gerekliliğini ve yeterliliğini sorguladığım bir şablon motoru benim için. Hatta kim bana şimdi “Smarty mi kullanalım, direkt PHP mi yazalım HTML tagleri arasına?” diye sorsa bir saniye bile düşünmeden “PHP yazın” derim. Zira Smarty hakikaten HTML arasında PHP yazmaktan öte çok fazla bir iş yapmıyor. Compile, cache gibi yapıları ise aslında maksimum birkaç saat içinde hem de daha iyi bir şekilde sıfırdan yazabileceğiniz türden şeyler. Bugüne kadar biraz ciddi bir alternatifi olmamasından biraz da back-end kod ve yapılarının tasarımdan ayrılmasına inandığımız için Smarty’i kullanmış idik. Şimdiler de ismi çok duymaya başladığım PHPTAL gibi daha düzgün bir alternatif mevcut. PHPTAL’ı kullananların anlattığı ve kendi dökümanlarına göz attığımda gördüklerim kadar tanıyorum aslında. Yani çok ciddi bir tecrübem yok PHPTAL ile ilgili. Ama bundan sonrasında bir proje için Smarty yerine kullanmayı düşündüğüm bir şablon motorudur. Bu nedenle de Smarty’nin ne kadar hızlı çalıştığını merak ederken PHPTAL’ı da bu merakıma dahil etmiş oldum.
Continue reading »
Şub 07
Memcached yoğun sunucular için önemli bir performans iyileştirme aracı olarak kullanılabilen bir uygulama. Aslında temel olarak yaptığı şey key-value olarak saklanan verileri RAM üzerinde tutarak istendiği zaman çok hızlı bir şekilde bu verileri getirebilmesi. Facebook’ta kullanılan memcached birçok web uygulaması için de vazgeçilmez bir caching aracıdır.
Bildiğiniz üzere PHP sessionları ya bir klasörde dosya olarak ya da veritabanında saklanabilmektedir. Özellikle çok kullanıcılı sistemlerde session verilerini RAM üzerinde tutmak belli oranda perfomans sağlayabilir. Sessionları RAM üzerinde tutabilmek için de Memcached’den faydalanabiliriz. Tabii session datalarının RAM üzerinde tutulması, olası bir problem sonrasında RAM deki verilerin tamamen yok olma riskini de kabul etmeyi gerektiriyor.
İşin analiz ve değerlendirme kısmını bir kenara bırakıp, teknik olarak bunu nasıl yapabileceğinizi aktarayım. Burada anlatacaklarım Debian Etch üzerinde Apache2-PHP5 kurulu bir ortamda test edilmiştir ancak Debian temelli herhangi bir sunucu için de aşağı yukarı aynı şekilde kurulum yapılabilir.
Continue reading »
Nis 03
Spam e-postaların yaygınlaşmasını sağlayan önemli durumlardan birisi, e-posta adreslerinin web sitelerinde herkesin erişebileceği bir şekilde ve özellikle metin olarak yayınlanıyor olmasıdır. Çünkü malumunuz olduğu üzere, arama motoru botları gibi e-posta avına çıkan kötü niyetli botlar da internette buldukları her siteden e-posta adresleri elde etmeye çalışırlar. Bu botların topladığı e-posta listeleri de birçok firmaya spam yapması için satılır. Zaten bu tür bir listede e-posta adresinizin geçiyor olması demek, bu listeler yayıldıkça size gelecek spam sayısının neredeyse logaritmik olarak artması demektir.
Bu duruma karşı kesin bir önlem almak maalesef mümkün değil. En iyisi e-posta adreslerinizi mümkün olduğunca internet üzerinden hiç paylaşmamak bence. Çeşitli yerlere üyelikler, vb gibi şeyler için normalde kullanmadığınız bir adet gmail adresi işinizi görecektir.
Continue reading »
Oca 27
PHP ile dosyanızın gerçek yerini ve ismini göstermeden download ettirebilmek çokça yapılan, yapılmaya çalışılan ya da forumlarda filan sorulan bir sorudur. Ben geçenlerde bu soruyu download edilen dosyanın download edilme hızını ayarlayabilme konusunu da ekleyerek genişleteyim istedim. Geçenlerde bana lazım oldu, varolan teknikleri inceleyerek en son şöyle bir kod hazırladım. Download limitini yaklaşık 10Kbyte olarak belirliyor bu script, isterseniz ayarları ile oynayarak daha hızlı download imkanı da verebilirsiniz.
Continue reading »
Ağu 24
E-ticaret uygulamaları son birkaç yıldır Türkiye’de de öncesine göre logaritmik bir ilgi artışı ile kullanılmaya başladı. Birkaç sene öncesinde vitrinde sadece birkaç tane büyük e-ticaret portalı varken, şimdilerde özellikle bazı sektörler, sektörel bazda ürün satın alınabilen çeşitli e-ticaret uygulamalarını hizmete soktular. Bu sektörel ürün satma fikrinde en büyük ve hızlı gelişen tabii ki bilgisayar hardware’i satan firmaların internet siteleri oldu. Daha sonra elektronik tüm eşyaların internette satılması hız kazandı.
Continue reading »
Son Yorumlar