2017-03-20 83 views
0

我目前使用SQL Express的T2.Micro RDS。aws rds 100%cpu 2 vcores

由於負載很重的應用程序正在運行,訪客的1次請求可能需要30秒才能完成。這使得RDS工作100%的CPU。其結果是任何其他訪問者在100%CPU負載的同時訪問網站,網站需要更長的時間才能回答。

T2.micro有1個vCPU。 我想升級到具有2個vCPU的T2.medium。 問題是,如果我有2個vCPU,我會避免瓶頸? 例如,有30秒請求的第一位訪客,同時使用vCPU#1和第二位訪客,他使用vCPU#2嗎?這會幫助我的情況嗎?

此外,我沒有看到aws rds中的任何選項,看看是什麼CPU。有沒有選擇以某種方式選擇更快的vCPU?

謝謝。

回答

1

操作系統的調度程序會自動處理跨所有可用內核的運行線程分佈,以儘可能少的時間完成儘可能多的工作。

所以,是的,只要多個查詢正在運行,多核計算機應該可以提高性能。如果在2核機器上運行單個CPU密集型,長時間運行的查詢 - 而且沒有其他任何數據 - 您可能會看到的最大CPU利用率大約爲50%......但只要有不止一個查詢正在運行,它們中的每一個都將一次在其中一個核心上運行,並且隨着工作負載的變化,系統實際上可以在可用核心上移動一個線程,從而將它們置於最佳核心上。

t2.micro是一個非常小的服務器,但t2是一個很好的價值主張。對於所有的t2級機器,無論內核的數量如何,都不允許連續運行100%的CPU,除非有足夠的CPU可用餘額。這就是爲什麼t2如此便宜。您還需要關注這一指標。 CPU積分隨着時間的推移自動獲得,並通過使用CPU進行支付。升級t2機器的第二個動機是較大的t2實例以比較小的速度更快的速度獲得這些信用。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html

+0

非常感謝你的回答。有幾個隊列不僅僅運行一個(包裝在商店程序中)。 –

+0

通常,存儲過程中的查詢將連續運行,而不是並行運行,所以我期望它仍然等同於「1查詢」,除非您同時運行該過程多次。 –