2011-08-12 42 views
2

我想知道關於螢火蟲的一些事情, 當我嘗試使用螢火蟲開放載入一個頁面時,它開始時間線。Firebug&Performance Question?

是什麼:

等待, reciving, DomContentLoaded, 負載,

的MySQL查詢從列表中有什麼影響?我看到更多的mysql查詢,我正在增加,reciving部分正在增加。

讓我粘貼我在覈心上使用的請求,以生成動態鏈接或內容。

function getContent($id = '') { 
    $id = mysql_real_escape_string ($id); 
    $sql = 'SELECT id,post_title,post_content FROM wp_posts WHERE post_category="67" ORDER BY post_date DESC LIMIT 1'; 
    $res = mysql_query($sql) or die (mysql_error());  

if (mysql_num_rows($res) !=0): 
    while ($row = mysql_fetch_assoc($res)) { 


    // this remove caption from wordpress, get 450 words to be used for exerpt, encode html, 
    $mycontent = $row['post_content']; 
    $mycontent = strip_tags($mycontent); 
    $mycontent = substr($mycontent,0,250); 
    $mycontent = preg_replace("/\[caption.*\[\/caption\]/", '', $mycontent); 
    $mycontent = htmlentities($mycontent); 

    //encode the words for html 
    $title = $row['post_title']; 
    $title = htmlentities($title); 

    echo ' 


    <<h1><a href="single.php?id='.$row['id'].'">'.$title.'</a> </h1> 
    <div class="cssclass"> '.$mycontent.' </div> 


    '; //echo 
} 
    else: 
     echo 'This page dosnt exist.'; 
    endif; 
} // end 

這段代碼或它的正常情況是錯誤的,我的db是大約75.000行。

感謝您閱讀本文。

+0

這個問題更多的是關於服務器端的性能,而不是關於Firebug。 – Teddy

+0

請仔細閱讀第一部分,謝謝 – AvinD

+1

刪除67左右的引號(如果post_category在數據庫的整數字段中),隱式轉換有時會傷害性能。確保你有索引(post_category,post_date) - 這是滿足給定查詢的最佳選擇。爲了防止sql注入,如果post_category是整數,則將$ id轉換爲整數或使用準備好的語句。 –

回答

1

等待:向服務器發送一個請求後,這是用於等待數據開始回來

接收時間:時間花費接收內容

DomContentLoaded:時間花費直到DOM的整體是可用的(注意,這不是所有的資源加載,只是HTML部分,例如</html>標籤已被接收/處理)。

加載:直到整個頁面的時間,包括images/scripts/css已被接收/處理/加載。

不要擔心接收部分增加。您輸出的數據更多,因此需要更多時間才能收到。這很正常。

+0

謝謝您的回答,請您查看我粘貼的問題代碼,它可以嗎?它可以導致服務器上的高負載?正如我所說的db有75.000行。 – AvinD

+0

如果每次檢索所有75000行,它只會是一個高負載。無論如何,「高負荷」是一個相對的術語。這個腳本會將運行在舊的386sx-16上的服務器癱瘓,而現代2 + ghz多核cpu甚至不會注意到它已經運行了任何東西。 –

+0

我有一個vg在hostgator.com,lvl 7 VPS。大約100名用戶每秒鐘都在看我的網頁。所以總共約100用戶/秒。和每月8000個唯一訪問者。我應該使用任何類型的緩存嗎?如果是的話,你能提出一個建議嗎?日Thnx – AvinD

0

等待是瀏覽器發送請求和從服務器接收任何數據的時間。

接收是實際獲取數據的時間。

接收時間較長的原因是因爲您發送的數據較多,所以下載時間較長。您可能期望等待時間也稍微增加,但通過網絡傳輸的時間比在服務器上處理數據所花費的時間更重要。