2017-04-24 95 views
0

我們使用Joomla 3.6.5的最新版本號和J目錄MySQL的加載速度慢 - Pagenation

http://www.cmsjunkie.com/j-businessdirectory

最新版本,我們有一點與開發商存在分歧。

我們的目錄在過去一年中有所增長,現在頁面加載非常差,我們每個類別有超過500多個條目。 J目錄說它是因爲我們有大量的條目,

請參閱下面的URL加載速度放緩,我們有大約1100條目與此類別相關聯。

http://www.shoppingonline.ie/category/clothes-shops-womens

但這應該沒有什麼差別嗎?有網站1000網上有巨大的DB的和顯示大量結果

的看到下方的分類廣告網站,顯示了「汽車」在愛爾蘭66914個廣告的例子

donedeal.ie/all?words =汽車& area = Ireland

所以我對開發者說的是,我們不應該只檢索所有結果只顯示在網頁上顯示的結果 - 目前20,然後網頁開始踢,並加載下一個20結果等等

你能證實這是我的方式t應該正確嗎?當然,上面的例子並不檢索66,914,因爲如果它的性能非常差,並且它現在加載非常快。

親切的問候

斯科特


請參考下面從開發響應。

你一定誤解了整個情況。 我們不會一次檢索所有結果。正如你所看到的,一次只能檢索20個項目。 問題是,mysql必須通過匹配搜索條件的所有1000個結果才能按順序標準排序,然後在請求的頁面窗口中獲得20個結果。 這是造成性能損失。這不是一個錯誤。這是一個Mysql性能限制。 正如您所看到的,搜索性能良好,結果較少,並且證明沒有錯誤或編碼問題。 我希望我們現在已經澄清了這種情況。 您所指的網站必須使用更高效的其他數據庫引擎(付費數據庫引擎)或像google這樣的索引。

+0

它不應該加載所有記錄,然後丟棄不在當前頁面上的記錄。但是如果你能找到它正在運行的SQL語句,並找出背景中發生了什麼,它會更有用。 –

+0

如果合理編寫,1000個結果(儘管遠非理想)對MySQL來說很小。然而,在檢索數據到php之前,應該在數據庫上完成對搜索條件和排序的檢查。通常這涉及動態生成SQL。如果選擇的框架不能支持這個,那麼它可能是這個工作的錯誤工具。 – Kickstart

回答

0

這個加載時間肯定會讓客戶惱火。它們似乎不會限制他們檢索的結果數量。你發佈到你的網頁的鏈接看起來像這樣和需要約17秒的負載:如果我點擊頁面#2,花費僅爲8.8秒加載(這仍然是可怕的,但更好) http://www.shoppingonline.ie/category/clothes-shops-womens

。注意網址: http://www.shoppingonline.ie/component/jbusinessdirectory/search/266?Itemid=101&controller=search&categorySearch=266&orderBy=packageOrder遞減&上限= 20 &開始= 20

的&上限= 20大概是你的開發者告訴你的網站,從數據庫中檢索的20行的最大值,而沒有說,似乎抓住一切。他們需要在主頁上放置相同的限制。

它也似乎是你的流量被路由到doubleverify.com,然後到您的網站。 Google Analytics等工具會在用戶登錄到您的網頁後跟蹤您的網絡流量,而無需讓他們在網絡中反彈。我會和你的開發人員一起坐下來,詢問用戶在實際頁面登陸之前究竟有多少網站被反彈。這些東西非常耗時。

就您的數據庫而言,我從來沒有使用過J目錄,但幾乎所有的數據庫都可以讓您在數據庫字段中放置索引。索引將大大減少數據庫查詢完成所需的時間。

你的開發者在他們的HTML中也有很多空白行,這可能是你的網頁的大小增加一倍或三倍,而這無助於快速加載。它們仍然具有可讀的格式,沒有所有額外的空白行。

+0

嗨民衆非常感謝您的反饋,請參閱J Directory的開發者的上述回覆。 –

+0

這是一個推銷員罐裝答案。您網站上列出的網站與放慢您的網站無關。此外,這不能解決您的問題。 Mysql能夠以毫秒執行查詢。他們似乎沒有解決這個問題的意願。 – user3795412

0

我測試了該頁面。它的加載速度非常慢,需要16.x秒。 您需要聘請一位在網站速度優化方面做了大量工作的專家自由職業者。

0

我們有一個similar performance problem with Mosets Tree - 發現真正問題的方法是檢查MySQL慢速查詢日誌(這應該在my.cnf文件中啓用)。順便說一句,他們只顯示20條記錄的事實並不意味着他們只檢索那20條記錄。此外,這可能不是問題 - 問題可能是由一些非常複雜的查詢和/或沒有適當索引的某些查詢造成的。

再次,關鍵問題是通過慢查詢日誌。您也可以啓用Joomla調試,並檢查每個查詢所花費的時間。