2008-08-16 41 views
17

我正在考慮使用名爲CodeIgniter的PHP框架。如何確定CodeIgniter速度?

我感興趣的一件事是它的速度。但是,我無法確定它的速度有多快,而不是簡單地把它的網站的話說出來。有人知道我怎麼能夠自己決定它的速度,還是有人可以告訴我一個網站可以?

回答

2

我建議您自己測試一下。使用xdebug's profiler創建一個cachegrind兼容文件,並使用webgrind可視化該文件。

這樣你最終得到非常可靠的信息。

3

如果您的網站是數據庫驅動的,我會很驚訝,如果你的瓶頸將是應用程序框架。快速開發中的「快速」是我擔心的問題,而不是像處理請求時那樣「快」。通過緩存策略和優化數據庫訪問可以更好地完成重要的優化。

除了數據庫訪問,你自己的代碼將是每個請求大部分時間花在哪裏(甚至與數據庫訪問相比通常並不重要),框架可能不會影響花在請求上的時間,除非它寫得很糟糕。

最好是尋找一個具有良好緩存支持的框架(Code Igniter可能有,我不知道),它幾乎總能爲您節省更多的時間,而不是幾毫秒就可以減少請求通過使用稍快的框架來處理。據我瞭解,CodeWriter仍然是PHP 4的好處,但它仍然是PHP 5的好處。當談到速度時,這可能是一個問題,但贊成我不知道的框架。 Zend具有良好的緩存支持和數據庫分析器,可以幫助您找到瓶頸。

8

是的,問題是你必須建立你的應用程序來分析它。

在工作中,我們有幾個項目寫在外面,我們在將它們放在我們的主箱子之前進行了負載測試。我們很驚訝地發現兩者都存在嚴重的性能問題;一個是用CakePHP編寫的,另一個是用Drupal編寫的。我不認爲這突出了任何框架或CMS的問題,除了需要在任何將獲得大量流量的站點上進行分析和負載測試之外。在這兩種情況下,這都是開發人員所做的,而不是軟件平臺的特性導致的問題。例如,開發人員在Cake項目中創建了一個遞歸函數,該項目每次遞歸實例化整個Cake對象,並在服務器負載情況下將其取出。

在我看來,性能不應該是選擇框架的決定性因素;客觀差異很可能是微不足道的,您使用它的方式可能會導致比框架的固有性能更多的性能問題。

我相信,任何規模的PHP應用程序的負載下運行,您將需要一個操作碼緩存,你需要使用類似的memcached或任何內置的緩存機制您的框架支持智能內容緩存寫。

1

Theo,

是Code Igniter提供緩存。不知道如何有效,但它是可用的。

3

Paul M. Jones最近更新了他的framework benchmarks。他正在比較幾個流行的PHP框架中的Hello World應用程序的性能。

這些都很有趣,但請記住,並沒有太多關於真實世界的應用。

1

CodeIgniter對於大多數項目來說足夠快。有些人已經在這裏發佈了,如果你是谷歌,你會發現它在速度方面與其他框架相比毫不遜色。

我同意另一張海報,表示在框架選擇時性能通常不是一個大問題。主要框架對大多數項目都具有足夠的性能。

1

您會對Codeigniter感到滿意。我有幾個重負荷的網站,它對我來說表現非常好。

1

與其他php框架相比,我發現codeigniter相當快。

它甚至快速學習.. ;-)

如果你有MVC的概念,它只是需要幾個小時上手....

1

您可能需要閱讀的THIS THREAD CodeIgniter論壇比較首先使用CakePHP開發的完整站點的速度,然後使用CodeIgniter重寫的速度

1

我維護一個每年會遭受幾次砰的衝擊的站點。去年,開發團隊使用Codeigniter重寫了整個網站,並且在性能方面我們運氣很好。此外,執行重寫所花的時間很少,因爲這個框架很容易處理。在我看來,CakePHP也是一個不錯的選擇,如果你發現你不喜歡Codeigniter。

1

對於CodeIgniter和其他PHP框架,PHP快速剖析器非常適合基準測試和測量速度,尤其是對於數據庫查詢。你必須檢查了這一點: php-quick-profiler

這是非常容易安裝,並提供了一個真棒GUI檢查不同的基準測試。