• 11-12-2013, 00:06:49
    #28
    Üyeliği durduruldu
    saintx adlı üyeden alıntı: mesajı görüntüle
    OOP yoracak mı? ilginç
    Gereksiz yere oop kullanmak sunucuyu yorar. oop un nasıl calıştığını anlarsanız bellekteki oranları görürsünüz hocam
  • 11-12-2013, 00:36:40
    #29
    Kimlik doğrulama veya yönetimden onay bekliyor.
    EmrePirasa adlı üyeden alıntı: mesajı görüntüle
    Gereksiz yere oop kullanmak sunucuyu yorar. oop un nasıl calıştığını anlarsanız bellekteki oranları görürsünüz hocam
    Konuda bahsi geçen işlemde gerekli olacağı kanısındayım. Sizin gereksiz olacağını düşünmeniz açıkçası bana biraz saçma geldi.
  • 11-12-2013, 02:43:38
    #30
    Üyeliği durduruldu
    saintx adlı üyeden alıntı: mesajı görüntüle
    Konuda bahsi geçen işlemde gerekli olacağı kanısındayım. Sizin gereksiz olacağını düşünmeniz açıkçası bana biraz saçma geldi.
    Benim bilgim gerçekten bu konuda yeterli değil. Yaklaşık 1 ay kadar önce duyduğum bir konu vardı.. Yine çok değerli bir PHP Coder arkadaş ile görüşüyordum. Haber sitesi yapmışlardı (OOP ile) 250K ve üzerine çıkınca büyük sıkıntılar yaşadık ve normal düzene geri döndük, sistem rahatladı demişti. Dediğim gibi gerçekten bilgim az, belki de OOP'u kullanmayı beceremediler veya yeterli seviyede olmadıkları için bu durum oluştu ama bu olayı bana anlatması ister istemez bir önyargı oluşturmuştu bende. Sizin yazınızı okuduktan sonra ise hatanın büyük ihtimalle arkadaşımda olduğu kanısına vardım.

    EmrePirasa adlı üyeden alıntı: mesajı görüntüle
    Gereksiz yere oop kullanmak sunucuyu yorar. oop un nasıl calıştığını anlarsanız bellekteki oranları görürsünüz hocam
    Yukarıda bununla ilgili ufacık bir yorum yaptım. Bunu bende duymuştum. Yüksek oranda CPU kullanımı yüzünden 250K ve üzeri bir hitte OOP olan sistemi yeniden PHP'ye taşımışlardı. Benim bilgim ve deneyimim yok tabi ki sizler kadar.

    karakacan adlı üyeden alıntı: mesajı görüntüle
    basit çaplı da arama motoru yazacaksanız udacity.ye bir göz atmanız faydalı olacaktır diye düşünüyorum.
    https://www.udacity.com/course/cs101

    çok büyük yapılar olduğunda en mantıklı yol kendi yapınızı uygun şekilde oluşturmanız.
    php ile yapılamaz değil yapılabilir. ancak bilinçli şekilde programlanmadığında diğer arkadaşların da dediği gibi kaynak tüketiminde sıkıntı olabilir. ve çok fazla sayfa crawl edeceğiniz için bu problemle karşılaşmanız çok uzun zaman da almayacaktır.

    veritabanı konusuna gelecek olursak hadoop ve mongodb güzeldir..
    mysql ile de işin içinden çıkılabilir ancak optimizasyonu çok iyi şekilde yapmanız gerekir.
    bu kadar büyük çaplı olmasa da fazla veri yükü olan bir projede percona derdime deva olmuştu. (mysqlperformanceblog.com)

    "php ile neler yapılabilir?" için bu videoyu da paylaşmak istedim.
    http://www.paylas.com/video/istanbul...i-huseyin-mert

    umarım projeniz rafa kalkmaz ve bir an önce gün yüzüne çıkar.
    çok özel değilse (ki kullanıcılar arama yapacak demişsiniz) gelişmelerden haberdar ederseniz memnun olurum.

    iyi çalışmalar..
    Tabi ki, seve seve bilgi veririm. Ayrıca bilgi ve paylaşımınız için de çok teşekkür ediyorum. Benden çok çok daha fazla bilgi ve deneyime sahip olan sizin gibi kişilerin görüşü gerçekten çok önemli. Hatta nasip olursa ve gerekli zamanı ayırabilecek bir arkadaş olursa buradan birisi ile çalışmayı çok istiyoruz.

    Naytu adlı üyeden alıntı: mesajı görüntüle
    Biz aktif olarak, Mongodb ile çalışmıştık. 20gb veritabanı boyutu + 100m fazla içerik de her hangi problem yaşatmamıştı (index iyi kullanmanız lazım).
    Çok teşekkürler, Mongo'yu çok sık duydum. Nerede ise her yerde dile geldi bu projede. Mutlaka birlikte başlayacağımız arkadaşa da bunu söyleyeceğim.

    biomooj adlı üyeden alıntı: mesajı görüntüle
    php ile, yüksek performanslı bir sunucuda, aynı anda (multi curl) 500+ bağlantıyı açabilirsen günde 20 milyon bağlantıya ulaşabilir diye düşünüyorum. tabi çok gelişmiş bir fonksiyon yazılması gerekiyor. örneğin bir bağlantı için maximum bekleme süresi ne olacak, bağlantı başarısız olduğunda veya bir hatadan dolayı veriyi alamadığında bu bağlantıya birkaç saat sonra tekrar bağlanmayı deneyecek mi, kaldığı yerden devam etme özelliği vs..
    Aslında birden çok sunucu kullanabiliriz. Fakat sizin multi-curl öneriniz de gerçekten büyük heycan yarattı bizde. Zaten bu tür projelerde önemli olan illa tek sunucuda işin bitmesi değil fakat kaynakları en verimli şekilde kullanabilmek. Çok yakın bir tarihte 4 işlemcili, 64GB ramli Xeon bir sunucuda tıkanan bir işin, yeniden ele alınması ile, daha yüksek hitlerde tek işlemcili, 16gb ramli bir e-1270 sunucuda çalıştığına şahit olmuştum. Programlama tekniği gerçekten çok önemli..

    BHCoder adlı üyeden alıntı: mesajı görüntüle
    burada iş ağırlıklı depolamaya düşüyor, PHP ile yapılabilir, postgresql veya mysql işinizi görür
    Çok teşekkürler, işin depolama kısmından ziyade, veritabanına sürekli verilerin gelmesi ve o verileri de sürekli kullanıcıların eşzamanlı olarak araması bizler düşündürüyor. 20 milyon URL kayıt edilirken veya update edilirken, anlık 2000-3000 kişi de arama yapabilir diye düşünerek çözümler üretmeye çalışıyoruz.



    Hepinize teker teker çok teşekkür ederim arkadaşlar. Birkaç dakikanızı ayırarak yaptığınız yorumlar, paylaştığınız bilgi ve öneriler benim için gerçekten çok değerli. Bu anlamda şu konuya 2 satır da olsa yazı yazanların, yorum yapanların hakkını ödemek gerçekten çok zor.

    Son olarak böyle bir projede vakti olan, deneylimli ve gerçekten işin altından kalkacağımız birisi ile de çalışmayı çok isteriz. Dileyen arkadaşlar bu konuda bana p.m. de gönderebilir. Titizlikle inceleyerek mutlaka dönüş sağlayacağım. Aslında işle ilgili biraz ayrıntı vermiştim fakat, kabaca yine söylemek gerekirse;

    Alıntı
    Örnek veriyorum elimde aşağıdakine benzer 25.000 adet web sayfası ve 125 milyon alt URL var...

    https://www.r10.net/php/1172376-gunde...mumkun-mu.html

    Bizim yapmak istediğimiz de bu 25.000 adet web sayfasında almak istediğimiz alanların taglarını sisteme gireceğiz, sonra bot(lar) tüm url'lere giderek verdiğimiz taglar arasındaki verileri alacak ve veritabanına kaydedecek. (Başlık - Resim - Açıklama) gibi.. Resim yok bu arada örnekti sadece. Herhangi bir resim veya video çektirmeyeceğiz. Tamamen text tabanlı olacak.

    Eğer gidilen url'ye daha önce girilmiş ise tekrar tekrar tüm veriyi taratmaktansa, (iş yükünü hafifletmek için) sadece konuda değişiklik var mı diye baktırarak update ettireceğiz. Yani ikinci girişlerde sadece tek bir tagı aldıracağız. Eğer sistem ikinci kez aynı url'ye giriyorsa tek tagı alıp çıkacak. (değişiklik olmasa da update olabilir, değişikliği algılatmak sistemi çok yorabilir.) Bu arada geçmişte girdiği bir siteye ulaşamıyor veya ilk kez giriş yapacağı bir siteye ulaşamıyorsa 404vs.. gibi hata kodunu alarak geri dönmesini istiyoruz. Sonraki yapacağımız manuel değerlendirme ile bir süre sonra bot(lar)ı sisteme tekrar gönderebiliriz.

    Daha da açıkcası işin en genel hali ise, bir arama motoru yapmak istiyoruz. Fakat sadece tek bir alanda tarama yapacak. Tüm interneti taratmaya zaten gücümüz yetmez. Bizim amacımız blogları taratarak DB'ye kaydetmek. Yerel bir kütüphane oluşturmak peşindeyiz.

    Beni burada korkutan 2 temel unsur var...

    1. 25bin adet sitenin ve 125 milyon adet URL'nin haftada en az 1 kere update olması gerekiyor. Site yayından kalkmışsa konuların silinmesi ve pasif hale gelmesi gerekiyor. Haftada 125 milyon url de günlük kabaca 20 milyon url yapıyor. Ayrıca 25bin sitenin hergün kontrol edilerek site kapandığında sistemde pasife düşürmek gerekiyor.

    2. 7-8 sutun ve 125 milyon satırdan oluşan bir mysql sistemde anlık yüzlerce belki binlerce insan arama yapmak adına sorgu gönderirse ne olur düşünemiyorum. Varnish tarzı cacheleme sistemleri kurtarır mı?
  • 11-12-2013, 03:47:49
    #31
    Üyeliği durduruldu
    Kardeşim benim bu konuda pek bilgim yok. Fakat cok yakın linux php mysql oracle c++ java uzmanı bir abim var. Airties'da mühendis. İstanbulda yüzyüze görüşmek istersen ziyaret ederiz. istersen evrendemir@outlook.com skype eklersen oradanda görüşmenizi sağlayabilirim. gerçekten sana faydası olacağı kanatindeyim. iyi calısmalar dilerim.
  • 11-12-2013, 15:19:09
    #32
    Ahrefs gibi bir projeniz mi var?
  • 11-12-2013, 16:02:13
    #33
    Kimlik doğrulama veya yönetimden onay bekliyor.
    biomooj adlı üyeden alıntı: mesajı görüntüle
    php ile, yüksek performanslı bir sunucuda, aynı anda (multi curl) 500+ bağlantıyı açabilirsen günde 20 milyon bağlantıya ulaşabilir diye düşünüyorum. tabi çok gelişmiş bir fonksiyon yazılması gerekiyor. örneğin bir bağlantı için maximum bekleme süresi ne olacak, bağlantı başarısız olduğunda veya bir hatadan dolayı veriyi alamadığında bu bağlantıya birkaç saat sonra tekrar bağlanmayı deneyecek mi, kaldığı yerden devam etme özelliği vs..

    @biomooj mantıksal katman ile yapılabilir diye düşünüyorum. Yinede diyeceğim gibi farklı olasılıklarda yapılandırmak gerekli. Bu arada hocam tasarımdan, yazılıma geçmen hızlı olmuş (herobilisim)

    EmrePirasa adlı üyeden alıntı: mesajı görüntüle
    20 milyon sorguyu deneyin bakalım sql ne hale gelicektir
    @EmrePirasa, haklısın hocam hep haklısınız..
  • 11-12-2013, 16:28:33
    #34
    Kimlik doğrulama veya yönetimden onay bekliyor.
    jquery ?
  • 11-12-2013, 17:15:28
    #35
    Üyeliği durduruldu
    İRoyal adlı üyeden alıntı: mesajı görüntüle
    jquery ?
    Javascript tarayıcı tabanlı calışır
  • 11-12-2013, 20:20:35
    #36
    EmrePirasa adlı üyeden alıntı: mesajı görüntüle
    Javascript tarayıcı tabanlı calışır
    bunu söylemeniz çok iyi oldu hocam , bilmiyodum

    Şaka bi yana, facebook datası toplarken kullanmıştım.
    GRAPH.API sorgusu çok hızlı oluyodu o zaman.

    *açık bırakıyodum bilgisayarı