2011-05-07 116 views
0

嘿, 我目前已經超過300+ qps在我的MySQL。大概有12000 UIP一天/no cron在相當繁重的PHP網站上。我知道這是很難判斷是否沒有看到該網站,但你認爲這是一個總矯枉過正? 你有什麼經驗?如果我優化腳本,你認爲我能夠大幅降低qps嗎?我的意思是,如果我達到200 qps這對我無能爲力。謝謝優化基於mysql/PHP的網站| 300 qps

+1

查詢每秒? – colinmarc 2011-05-07 20:55:34

+0

是,查詢每秒 – Kraketit 2011-05-07 21:00:02

+0

我不熟悉* UIP *代表什麼。你能詳細談談? – 2011-05-07 21:00:03

回答

0

你不應該專注於腳本,專注於服務器。

你並不是說這些300多個查詢是否導致問題。如果你的服務器沒有死機,沒有理由減少金額。如果你已經完成了優化,你應該關注服務器。升級它或購買更多的服務器。

+0

那麼,我的託管公司迫使我升級或優化。問題是如果我優化,它會產生巨大的差異嗎?因爲如果不是的話,我不妨現在升級,然後再處理優化。但是,如果優化會產生巨大的差異,我不必升級,我可以節省很多錢。 – Kraketit 2011-05-07 21:03:06

+0

從200降到300不會有太大的區別。如果你能把它降到每秒50個查詢,它會更容易。看來升級是簡單的方法。如果主機有時間進行優化,請嘗試升級。 – Lauri 2011-05-07 21:32:38

1

優化腳本可以創造奇蹟。我已經花了3分鐘之前的腳本,僅僅通過優化如何對服務器進行調用.5秒。當然,這是極端的情況。如果可能的話,我將主要集中在最小化查詢數量。也許你的查詢有創意,可以在每次點擊中包含更多信息。

從300到200 qps實際上是一個巨大的進步。這是您的服務器流量下降33%......這是很重要的。

+0

我同意,這是一個顯着的差異,但它不能解決問題。無論如何,我將不得不稍後升級。 – Kraketit 2011-05-07 21:05:17

+0

考慮將更多內容轉移到靜態數據,除非它不斷變化。然後,您有一個cron作業或更新這些文件以代表最新數據發生變化的東西。然後,您提供的是靜態HTML,而不是從數據庫中抓取每一條數據......最終,查詢數量更少。 – Mikecito 2011-05-07 21:25:45

+0

嗯,我這樣做了,但是我的一個網站有幾十萬個不同語言的頁面,所以大多數內容實際上很少加載,所以緩存沒有我所希望的那麼大。 – Kraketit 2011-05-07 21:27:47

3

我認爲你錯過了這裏的觀點。如果300+ qps太重,則取決於網站本身,訪問網站的每秒用戶數量,同時運行的後臺腳本等。您應該能夠測試和/或計算您的服務器的平均查詢吞吐量,以瞭解300+ qps是否公平。順便說一下,這取決於這些查詢所要求的內容(幾個字段或大量的二進制數據?)。

當然,如果您優化腳本和/或減少查詢次數,您可以降低數據庫負載,但是如果沒有特定數據,我們無法正確回答您的問題。要將300 + qps負載降低到200 qps以下,您應該平均降低總查詢至少1/3。

5

目前有超過300多家QPS在我的MySQL

您的網站可以在VIA C3運行,對你有好處!

你認爲這是一個總的矯枉過正?

這取決於它是否

  • 1頁/秒做300個查詢,是你有問題。
  • 30-60頁/ s做5-10個查詢,然後你沒有問題。

12000 UIP每天

我們有一個網站有50-60。000,它在Via C3上運行(你的烤麪包機是一個數據中心,與那個廢話服務器相比),但是Torrent跟蹤器使用了大約50%的CPU,所以只有一半的小CPU可用於網站,無論如何,使用它的任何重要部分。

您的經驗是?

如果你想知道,如果你要殺死你的服務器,或者如果您的網站optimizized,下面有接近於零的信息內容:

  • UIP(除非你得到類似Facebook的數字)
  • 查詢/秒(除非你是上述10.000)(我見過一個便宜的雙核爆破使用的是Postgres 20.000 QPS)

但下面是非常重要的:

  • 動態頁面/第二送達
  • 數每頁的查詢
  • 每個查詢(所有的)
  • 服務器架構
  • 的vmstat,iostat的輸出
  • 持續時間
  • 數據庫日誌
  • 網絡服務器日誌
  • 數據庫自己的slow_query,鎖和IO日誌和統計信息

您不專注於正確的指標...

+0

+1這是非常有見地的信息。綜合基準​​測試只能告訴你在最佳條件下你的堆棧可以提供多少* *。我們的Web服務器在處理<100kb靜態內容時處理25k + reqs/sec,但當內容必須生成時,請求降至〜2.5k reqs /秒,如果頁面碰到數據庫,則需要更低。 – 2012-09-14 09:24:00