在過去的幾天裏,我的web應用程序速度很慢,有時會返回503錯誤。如何在AWS Elastic Beanstalk中調試性能問題
本地應用運行良好。
有這麼多移動部件參與,我怎麼知道在哪裏看?它是我的代碼(如果是的話,我怎麼找到)?這是亞馬遜?它是數據庫嗎?我是否超出了我的實例?
我正在使用Amazon Elastic Beanstalk(1個小實例)和MySQL RDS(1個微型實例),代碼位於PHP中。該網站的流量相對較低(上週約有1500次網頁瀏覽量)。
在過去的幾天裏,我的web應用程序速度很慢,有時會返回503錯誤。如何在AWS Elastic Beanstalk中調試性能問題
本地應用運行良好。
有這麼多移動部件參與,我怎麼知道在哪裏看?它是我的代碼(如果是的話,我怎麼找到)?這是亞馬遜?它是數據庫嗎?我是否超出了我的實例?
我正在使用Amazon Elastic Beanstalk(1個小實例)和MySQL RDS(1個微型實例),代碼位於PHP中。該網站的流量相對較低(上週約有1500次網頁瀏覽量)。
您需要使用xdebug進行性能分析:http://www.xdebug.org/docs/profiler然後,您可以使用查看cachegrind文件(例如http://sourceforge.net/projects/wincachegrind/)的程序加載該配置文件以查找慢速點。你也可以打開mysql慢速查詢日誌,看看有沒有麻煩點。 (在my.cnf中:log-slow-queries = [日誌文件的路徑],然後重新啓動mysql)
聽起來很有趣。我會研究這些工具。 – 2013-02-28 08:59:51
微型實例的性能配置文件使用突發模型。它會在短時間內上升到2個ECU,然後被限制在1以內。對於你的代碼/查詢的問題,我會看看這個。檢查Cloudwatch中RDS的CPU使用情況。 – datasage 2013-02-26 21:25:18
CPU使用率顯示爲百分比。它平均在20%,有時達到30%。這是否意味着我有增長的空間,直到接近100%?或者是30%太多? – 2013-02-28 08:59:21
如果你打的帽子,它應該推100%,並卡在那裏。如果你從這個角度看不到你應該沒問題的話。數據庫查詢通常是我在嘗試優化時首先考慮的事情。有些人只是沒有索引。 – datasage 2013-02-28 15:28:57