讓網站更順暢 Magento 網站優化分析工具
一個快速的銷售網站通常會為顧客體驗增加強大的價值,也建立忠誠度及信任感,技術人員在開發電商網站時,基準測試及性能分析是相當普遍且重要的基礎任務。本篇文章就要針對 Magento 2 平台網站,說明該如何進行網站基礎優化分析!
從這篇文章你會知道:
- Magento 網站基準測試工具①:MAGE_PROFILER
- Magento 網站基準測試工具②:Database profiler
Magento 網站基準測試工具①:MAGE_PROFILER
MAGE_PROFILER 用於程式碼及資料庫分析。
此分析會顯示過程與正在分析的特定URL路徑相關資源(條列在附屬列表),開發人員可以從中判斷哪些類別或功能需要花費較多時間來執行,篩選出需要改善的部分或程式碼。
開發人員需要使用html來啟用MAGE_PROFILER,需要執行以下指令:
bin/magento dev:profiler:enable html
bin/magento cache:flush
For disabling MAGE_PROFILER:
bin/magento dev:profiler:disable
Magento 網站基準測試工具②:Database profiler
Database profiler 的資料庫分析與MAGE_PROFILER相似,但更專注於資料庫性能。
為啟用此分析,需按照以下步驟執行:
Step1:對env.php增加一個class參考
On <magento_root>/app/etc/env.php to add the following class reference:
‘db’ =>
…
‘default’ =>
array (
‘host’ => ‘localhost’,
‘dbname’ => ‘magento’,
‘…
‘active’ => ‘1’,
‘profiler’ => [
‘class’ => ‘\Magento\Framework\DB\Profiler’,
‘enabled’ => true,
],
),
),
),
Step2:修改index.php文件
On <magento_root>/index.php add the following after the $bootstrap->run($app); line in your bootstrap file:
/** @var \Magento\Framework\App\ResourceConnection $res */
$res = \Magento\Framework\App\ObjectManager::getInstance()->get(‘Magento\Framework\App\ResourceConnection’);
/** @var Magento\Framework\DB\Profiler $profiler */
$profiler = $res->getConnection(‘read’)->getProfiler();
echo “<table cellpadding=’0′ cellspacing=’0′ border=’1′>”;
echo “<tr>”;
echo “<th>Time <br/>[Total Time: “.$profiler->getTotalElapsedSecs().” secs]</th>”;
echo “<th>SQL [Total: “.$profiler->getTotalNumQueries().” queries]</th>”;
echo “<th>Query Params</th>”;
echo “</tr>”;
foreach ($profiler->getQueryProfiles() as $query) {
/** @var Zend_Db_Profiler_Query $query*/
echo ‘<tr>’;
echo ‘<td>’, number_format(1000 * $query->getElapsedSecs(), 2), ‘ms’, ‘</td>’;
echo ‘<td>’, $query->getQuery(), ‘</td>’;
echo ‘<td>’, json_encode($query->getQueryParams()), ‘</td>’;
echo ‘</tr>’;
}
echo “</table>”;
Step 3:清快取
bin/magento cache:flush
Step 4:移除Database profiler,方式和前述提到關閉MAGE_PROFILER一樣簡單。
這些分析工具對於希望可以更了解一般使用者體驗、修復任何只在程式碼或系統層面上顯示的隱藏性能問題是非常有幫助的喔!
以上為 歐斯瑞的分享
我要留言