2012-11-15 59 views
1

我有一個非常奇怪的問題,我不知道如何解決它。我的應用程序不時會達到內存限制,併發生內部服務器錯誤500。共享主機上有570MB的限制。我試圖調試我的應用程序,並且YiiDebug Toolbar顯示每個頁面消耗大約10-12MB的內存。我真的不知道問題出在哪裏。在我本地的wamp服務器上,沒有問題。Yii App在Linux服務器上達到內存限制

任何人都可以幫助我嗎?至少告訴我從哪裏開始尋找內存泄漏,因爲我沒有看到任何明顯的。 這是不可預知的問題,它不會發生在某些特定的請求上。 我已經在index.php中評論了'YII_DEBUG'這一行。

+0

ini_set('memory_limit','570MB'); –

回答

0

如果你有很多AR記錄,你也可以看看剛剛落在主人身上的全新CActiveDataProviderIterator。它不是穩定的Yii發行版的一部分,並且幾乎沒有文檔(我現在正在幫助實際工作)。但是可能會成爲你遇到內存限制的地方。

你是否在使用GiiX?我發現它在一些地方效率相當低,導致需要更仔細地查詢......

+0

不,我沒有使用giix ..我真的不知道有多少AR記錄?首頁上的 我有3頁的CGridView(DataProvider來自AR)。 我有4個頁面,他們都從AR獲取數據。其中3人約有20-30條記錄,其中有50-60條記錄。 那麼多AR記錄? – vladotg

+0

聽起來不錯,如果你使用分頁,不應該是一個巨大的交易。你也加載其他關係嗎? Iterator類的目標是加載的1000條AR記錄,它看起來像 – acorncom

+0

問題可以在.htaccess文件中嗎?我有RewriteEngine在那裏重定向http訪問到https。 – vladotg

0

看到張貼在 - http://www.yiiframework.com/forum/index.php/topic/15647-memory-usage/

有點過時,但積分仍然適用。

如果可以,請使用某種緩存軟件來補充Active Record系統。

如果您使用的是Active Record,請確保加載的模型數量不是太多。

調試需要額外的內存 - 如果你不需要它將其禁用。

如果問題仍然存在,請考慮從活動記錄移至DAO,但這可能很麻煩。

Yii使用的是什麼版本?以及您網站上的典型訪問者人數是多少?

+0

謝謝,我會看看這個鏈接。 我正在使用最新的Yii版本,我的網站並不真正擁擠。它是一個協會的小型內聯網。 – vladotg

相關問題