PHP karşı Ruby on ölçeklenebilirlik [kapalı]

3 Cevap php

Hangi RoR ve PHP arasındaki daha ölçeklenebilir herkes yorum yapabilir? PHP daha düşük düzeyde ve daha hafif iken RoR onun MVC framework ile biraz daha fazla yükü beri RoR PHP daha az ölçeklenebilir olduğunu duydum. Bu biraz belirsiz - herkes daha iyi açıklayabilir?

3 Cevap

Edit: Gordon +2. Cevap için +1 ve Yorumlarınız için +1! :)

Bir çerçeve için ölçeklenebilirlik önbelleğe alma, oturum mağazalar, HTTP istekleri sayısını, sprite, önbelleğe alma js dosyaları vb oluşturma gibi App hatta UI kısımlarında azalma sınırlıdır! Sen hala sonunda aynı şey ne olursa olsun RoR / ZendPHP / CakePHP'ye kullanabilirsiniz. RoR kullanmanın avantajı saf MVC paradigma aşağıdaki gibidir. Onun daha kolay iş mantığı yerine atık zaman yapılandırmasına konsantre. RoR başka bir çerçeve üzerinde başarılı yerdir.

Ölçeklenebilirlik da bir çerçevesi tarafından kullanılan ORM ile ilgilenir. Hızlı okuma / yazma işlemleri daha iyi performans. Eğer tam teşekküllü bir çerçeve kullanmak istemiyorsanız fakat her zaman vb havai biraz azaltmak kamp, ​​Sinatra gibi mikro-çerçeveler için gidebilirsiniz. Raylar da örneğin özyinelemeli görevler için kullanılabilir raf, ve böylece performansını artırmak üzerine inşa Raylar Metal tanıttı.

Ilgili yazılım daha fazla donanım ile ağırlıklı bir uygulama fiyatları gerçeklik ölçeklenebilirlik. Ayrıca veritabanında verileri düzenlemek nasıl ilgilenir. Örneğin Google hızlı okuma-yazma için oldukça bir RDBMS daha (MySQL, PostgreSQL, SQLLite3 vb seviyor) Bigtable kullanır. Bu sonuçta sizin app bağlıdır.

Seni Adam Wiggins, Heroku kurucusu Bu tanıtımı görmeye vakit geçirmek öneririm:

Horizontal Scalability via Transient, Shardable, and Share-nothing Resources

Her ikisi de oldukça yavaştır.

Ruby büyük bir bellek ayak izi, ama bir güzel, zarif bir dille, gerçekten yavaş.

PHP küçük bir Java daha hızlı ve nokta net ama hala oldukça yavaş.

C, pascal ya da ml hızlı büyüklükte birkaç emir vardır, ama çoğu insan bunu çok yavaş onları web uygulamaları yazmak bulabilirsiniz.

Benim önerim önünde ters proxy dengeleme bir Nginx yük koymak ve sonra çerçeve seçmektir, bu örnekleri oldukça iyi sınırsız sayıda eklemenize izin verir. Donanım ve elektrik maliyetleri veriyorsan o zaman daha verimli bir yığını için gidin. Önemli kısmı akıllı önbellek 'dır.

Biz çünkü mantıklı önbelleğe minimal yükte çalışan Nginx sanal makinelerin bir çift bir milyon kullanıcı var. Dinamik içerik bir şeylerin karışımı ve önbellek daha yoğun, en az 1000x fazla kaynak bir olduğunu. Önbelleğe alma için anahtar önbellek güncel olduğunu kontrol etmek için geri şey gitmek gerekmez ki, bu bizim en iyi tasarım kararı oldu.

Biz elde etmek istediğinize bağlı olarak C, C + +, PHP, C #, Java, Python ve Ruby bir karışımı kullanın.

http://highscalability.com/blog/2011/6/13/automation-on-aws-with-ruby-and-puppet.html de kukla kullanarak otomatik olarak yapılandırarak makineler tarafından Ruby ölçeklenebilirlik güzel bir blog makale var

Hepimiz sanal makineler için Kukla kullanarak benzer bir set up. Tek sorun Kukla normalde bizim olmayan Ruby herhangi makineleri için en kaynaklarını kullanır. Yani biz gerçekten Ruby daha az kaynak yoğun bir şey Kukla yeniden yazmak istiyorum.

MVC Model-View-Controller, iş mantığı (örn. Modeli) ve sunum katmanı (View ve Controller) arasında net bir ayrım elde edilmesini amaçlayan bir iyi bilinen ve yaygın tasarım deseni, için kısaltmasıdır. Bu web üzerinde yoğun kaplı ve SO, yani sadece bir arama vermek olmuştur.

Zend Framework veya Symfony PHP programlama dili üstüne inşa edilmiş bir çerçeve gibi RoR, programlama dili Ruby üstüne inşa MVC ve ActiveRecord etrafında dönen bir çerçevedir. Bir dil için bir çerçeve ölçeklenebilirlik karşılaştırılması elma ve armut karşılaştırıyor.

RoR ölçeklenebilirlik gelince: Evet, RoR Twitter onunla bazı performans sorunları vardı 2008 yılında kötü ölçekleme için critizised edildi. Bu kısa süre sonra çok sayıda insan tarafından reddedilmiştir. Ben RoR toplum içinde kök salmış değilim yaparken düzgün yaparsanız, benim tahminim, RoR, ölçek yok edilir. Ancak ölçeklenebilirlik için ihtiyaç çoğumuz onlar olsaydı bir şey olduğunu akılda tutmak, ama gerçekten yok.

Eğer Ruby veya PHP kullanarak arasında önemli bir iş karar vermek zorunda olmadıkça Yani, ölçek konusunda rahatsız değil. Ve eğer varsa, burada soran üzerinde danışmanları işe düşünün. Ve hiç dilleri arasında flamewars zamanınızı boşa asla.