PHP vs uzun süren bir süreç (Python, Java, vb)?

5 Cevap php

Böyle Python için Django veya Turbogears gibi araçları kullanarak, uzun süren bir süreç vs PHP web uygulamaları yazma hakkında görüşlerinizi almak istiyorum.

As far as I know: - In PHP, pages are fetched from the hard-disk every time (although I assume the OS keeps files in RAM for a while after they've been accessed) - Pages are recompiled into opcode every time (although tools from eg. Zend can keep a compiled version in RAM) - Fetching pages every time means reading global and session data every time, and re-opening connections to the DB

Yani, uzun süren bir süreç adanmış bir sunucu üzerinde çalışan ve yoğun kullanım altında uygulamalar ile yüksek performans sunarken PHP, orta kullanımı ile uygulamaları çalıştırmak için (birden fazla site aynı ana paylaşan) paylaşılan bir sunucuda mantıklı sanırım?

Herhangi bir geri bildirim için teşekkür ederiz.

5 Cevap

Eğer memcache, opcode önbelleğe alma, ve bağlantı havuzu uyguladıktan sonra, PHP ve diğer seçenekler arasında tek gerçek fark, diğer seçenekler, genellikle, uzun ömürlü okuyuculu tabanlı ise PHP tabanlı, kısa ömürlü işlenmiş olmasıdır.

PHP sahip avantajı kir basit komut yazmak olmasıdır. Bellek yönetimi (onun her zaman isteği sonunda serbest) konusunda endişelenmenize gerek yok, ve çok eşzamanlılık hakkında endişelenmenize gerek yok.

Ön-işlem sonuçları, önbelleklerini ısınma mevcut verileri, istek öncelliği ve asenkron programlama yeniden: büyük dezavantaj, ben zaten görebiliyorum, bazı (? Bazen çılgın) daha gelişmiş şeyler zor olmasıdır. Ben insanların çok daha fazla düşünmek eminim.

Çoğu zaman olsa da, bu dezavantajları büyük bir anlaşma değildir. Daha makineleri ekleyerek ve daha fazla önbelleğe alma ile ölçeklendirilebilir. Ortalama web geliştirici eşzamanlılık kontrolü ya da bellek yönetimi hakkında endişelenmenize gerek yok, bu yüzden onları kaldırmasını ufacık isabet alarak büyük bir anlaşma da değildir.

  • APC, PHP derlenmiş bayt varsayılan olarak dahil edilecek yakında hangi RAM tutulur.
  • PHP kullanmak için en popüler yoludur mod_php ile, PHP yorumlayıcı web sunucunun bellekte kalır.
  • APC data store veya memcache ile, bunun yerine örneğin her zaman DB veri alma tarafından yeniden hepsini yaratma RAM kalıcı nesneler olabilir.

Gerçek hayat dağıtımında yukarıdaki tüm kullanmak istiyorum.

PHP bence kullanım, performans giderleri nadiren fark vardır biri için gayet iyi. Genellikle programı geciktirecektir diğer işlemler bulunuyor. Bu eAccelerator gibi bir şey ile PHP programları önbelleğe kolaydır.

PHP is a language like Java etc. Only your executable is the php binary and not the JVM! You can set another MAX-Runtime for PHP-Scripts without any problems (if your shared hosting provider let you do so).

Apps çalışan Nerede sunucu türüne bağlı olmamalıdır. Bu uygulama (CPU-Time, RAM) ve Server tarafından verilir ne / VServer / Shared Host tarafından kullanılan ressources bağlı olmalıdır!

For performance tuning reasons you should have a look at eAccelerator etc. Apache supports also modules for connection pooling! See mod_dbd. If you need to scale (like in a cluster) you can use distributed memory caching systems like memcached!

Diğerleri de belirtildiği gibi, PHP ne Django sizin darboğazlar olacak. Önbelleğe bu noktada devralacak çünkü PHP bayt için sabit diski isabet ağır ticareti site için ilgisizdir. Aynı Django için de geçerlidir.

Model / View ve kullanıcı deneyimi tasarımı dilin kendisi üzerinde performans büyüklüğü faydaları sipariş olacaktır.