<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 并發能力 ``` 并發能力,是指 吞吐能力。 ``` ## 并發的2個問題針對解決: 1,是不是并發調度問題 2,是不是并發處理問題 ## 壓力測試簡介: [An Introduction to Load Testing | DigitalOcean](https://www.digitalocean.com/community/tutorials/an-introduction-to-load-testing) ***** ## 壓力測試工具 1, AB 壓力測試 ``` sudo apt install apache2-utils ab -n 5000 -c 500 https://yuan.liangdabiao.com/ ``` 參考文檔:[ab(http)與abs(https)壓測工具 - lsgxeva - 博客園 (cnblogs.com)](https://www.cnblogs.com/lsgxeva/p/12185925.html) ![](images/screenshot_1637643749189.png) > Requests per second: 19.66 [#/sec] (mean) //**吞吐率**,大家最關心的指標之一,相當于 LR 中的每秒事務數,后面括號中的 mean 表示這是一個平均值 **Time per request**: 5087.180 [ms] (mean) //用戶平均請求等待時間,大家最關心的指標之二,相當于 LR 中的平均事務響應時間,后面括號中的 mean 表示這是一個平均值 **Time per request**: 50.872 [ms] (mean, across all concurrent requests) //服務器平均請求處理時間,大家最關心的指標之三 ***** 2,Pageload.io 非常不錯的可視化壓力測試工具,幫助進一步檢查,作為最后是否通過的檢測標準。 ![](images/screenshot_1637635151328.png) 3,Jmeter 非常不錯的本地壓力測試,充分利用本地的強大計算和網絡能力,可以對比測試結果,方便排查性能問題原因。 ![](https://img.kancloud.cn/86/05/8605255ecfb161a41febdcfda8006d6f_1287x213.png) magento自帶Jmeter測試方案: using the Magento Performance Toolkit and JMeter https://devdocs.magento.com/guides/v2.3/config-guide/cli/config-cli-subcommands-perf-data.html https://www.mageplaza.com/blog/magento-2-performance-toolkit/ ***** ***** ***** ## 需要多少并發能力: 1,從GA,日志等檢查每天的流量,計算正常時間每分鐘訪問的流量和人次。 2,例如應付普通日常是 **250人/分鐘** ,那么為了活動做好準備,同時也要并發測試 **2500人/分鐘** ,。 3,同時也要為壓力測試做好準備,達到 **10000人/分鐘** ,能夠讓服務器不宕機。 4,要測試不同種類的頁面并發能力。重點:**首頁,結算頁**,商品頁,列表頁。 **注意:** 我們不是BAT,沒有那么高并發,流量都是要廣告買回來的。按實際情況準備好10倍的應付能力就可以了。 ***** ***** ## 并發測試流程: > 注意:Jmeter壓力測試工具測試,檢查情況,吞吐率是多少。然后再檢查性能監控的指標情況 【Tideways】,發現什么問題。然后迭代,進一步加大并發測試。 測試過程如下: 0,先把 頁面性能 完成 1, 做好varnish的工作 2, 加上(強大服務器 +強大網絡)測試 3, 通過日常并發 250人/min, 再通過活動并發 2500人/min,再通過10000人/min 壓力測試。 4,每一個頁面都進行最高壓力測試,通過 ***** ## Magento并發優化手冊: 建議先讀讀官方文檔:《Magento并發優化手冊》,做好基本設置。 https://kdocs.cn/l/cc72SROjtuNr [金山文檔] White-Paper-Magento-2_0-Performance-and-Scalability-03_31_16.pdf 基本設置: ![](https://img.kancloud.cn/68/0f/680f3ba9315bf8f44b51726fa1b8254e_1075x278.png) ![](https://img.kancloud.cn/02/3a/023a6a2504dda44a7f042a72e4448cec_896x679.png) #### 基本架構: ![](https://img.kancloud.cn/70/c2/70c2c0bee8602667cd5c1bd828c6a47f_1037x819.png) ***** ![](https://img.kancloud.cn/4e/c8/4ec803d84e322691e57908e0b32cf8c8_1148x293.png) 并發測試情況: ![](https://img.kancloud.cn/51/99/51995d13f2e509f9150aaddd6d14c20b_851x268.png) ***** ## 開始并發測試: ### 1,Redis作為Full page cache 的測試: 4核16g,測試結果是:Requests per second = 4-10 , waiting = 1000ms , 性能檢測結果: ![](https://img.kancloud.cn/20/42/20427ca9f2b58860af4c4d7be2895304_1044x888.png) 發現問題: 1,sql太多。 2,magento啟動太重了。 ***** ***** ***** ***** ### 2,Varnish 是magento的救星: ![](https://img.kancloud.cn/47/96/4796fd7a54f8874903da7036e1035bd8_1600x892.png) > magento太重,那么就盡量都不經過magento, 靜態緩存內容,varnish處理高并發。 > Magento 2 Varnish cache reduces the page load time and delivers content 10X faster. ***** ***** ### 3,varnish后還是很慢? 那么就檢查:1,是否走varnish命中,2,檢查寬帶(magento頁面超級大,寬帶要開20m-30m) ![](https://img.kancloud.cn/c2/24/c22419a43cfee694d9f450aff1cfe2bb_1411x540.png) ![](https://img.kancloud.cn/2f/73/2f733fe63a849a8832ea40028505be1d_1318x651.png) ***** ***** ### 最后用可視化 loader.io 測試 每一個頁面: **checkout頁:** > 備注: checkout url可以這樣測試 https://woocommerce.liang/onestepcheckout/?sku[24-WB04]=2 因為有流量轉化漏斗,這里只需要達到10分1的并發就可以。250人/min - 1000人/min , 看下圖測試結果,250人/min 并發的結算功能 是沒有問題。 ![](https://img.kancloud.cn/f9/80/f9808a45d46c3bf8b0ea59e063765b3a_1573x739.png) ***** **商品詳情頁:** 需要 2500 - 10000人/min,結果通過: ![](https://img.kancloud.cn/49/b6/49b64146accd141d39b94d5e4bae7fae_1433x694.png) ***** **首頁:** 需要 2500 - 10000人/min,結果通過: ![](https://img.kancloud.cn/61/65/6165dcf23065df65e407619370de110a_1453x696.png) ***** # 備注如下: ## "Unaccounted Wait" 很高 ? 當看到tideways顯示,"Unaccounted Wait" 很高,那么就可能要升級服務器性能了 ![](https://img.kancloud.cn/6f/a8/6fa82160efb018342174002bbba5400e_514x294.png) #### 1,先檢查php.ini配置 ![](https://img.kancloud.cn/f5/f5/f5f56444c2a89666ba20f633f5ca1b40_547x94.png) php-fpm.conf有兩個至關重要的參數: 一個是”**max\_children**”,另一個是”**request\_terminate\_timeout**”, 都檢查。參考:[php-fpm占用cpu和內存過高100% 解決辦法 - 上善若水-隨 - 博客園 (cnblogs.com)](https://www.cnblogs.com/boundless-sky/p/9223942.html) ***** ***** #### 2,考慮升級服務器,升級多大服務器呢? 【magic formula】 > 參考:[How to Estimate How Many Website Visitors Your Hosting Can Deal With (servebolt.com)](https://servebolt.com/articles/calculate-how-many-simultaneous-website-visitors/) > The magic formula we use for our estimates, that captures the essence and provides us an approximate number of how many users you can have simultaneously on your site in Google Analytics is: > **(number of CPU cores / Average Page Response Time in seconds) * 60 * User Click Frequency in seconds = Maximum simultaneous users** (1),從GA看看,每分鐘的用戶有多少人在線。 例如,我們普通需求是平時 250人/min,要達到 2500人/min。 ![](https://img.kancloud.cn/20/6a/206a4fe74f5bea1a35876a664cf8232e_1920x981.png) (2),利用公式計算: ( cpu核數 / 頁面響應時間) * 60 * 用戶點擊頻率 = 最大并發用戶數 。 用戶點擊頻率 = 平均1次/min (普通獨立站) ( 4核 / 0.400s ) * 60 * 1 = 600 人/min (32核 / 0.323s) * 60 * 2 = 11 880人/min ***** 簡化公式: 吞吐率 * 60 = 承受最大并發用戶數的能力 250人/min , 那么就需要 吞吐率 達到 4/s Requests per second 2500人/min , 那么就需要 吞吐率 達到 40/s Requests per second 10000人/min, 那么就需要 吞吐率 達到 160/s Requests per second ***** ***** ***** ***** ## 負載均衡問題 ? ![](https://img.kancloud.cn/a6/14/a614dcea7d3855c14c6120cad76e780a_384x189.png) RDS: 數據庫需要統一放在RDS. Offload 資源: 放在Cloudflare CDN: 放在 [S3/OSS] 參考: [https://www.mageplaza.com/kb/setup-amazon-cloudfront-cdn-in-magento-2.html](https://www.mageplaza.com/kb/setup-amazon-cloudfront-cdn-in-magento-2.html) ***** ## varnish 503問題? 參考:https://www.magesolution.com/blog/error-503-backend-fetch-failed-varnish/ https://magento.stackexchange.com/questions/247275/x-magento-cache-debug-miss ## varnish 緩存 MISS ? 可能是代碼有阻礙緩存的bug, 執行檢查: ``` grep --recursive -l 'cacheable="false"' app/design/frontend app/code vendor ``` 也可能是 "User-Agent" 問題: So removing the "User-Agent" in the .htaccess fixed the issue ~~~ SetEnv dont-vary 1 ~~~ ***** ## varnish監控 Hit / Miss 情況 ? shell 執行 `varnishhist ` , | 是擊中緩存, # 是不能擊中。 ![](https://img.kancloud.cn/5a/70/5a70ec6731e5840377881c6c1cd4c405_1598x662.png) ![](https://img.kancloud.cn/4c/fb/4cfbd5f9ddf2b03eab109ca21546e983_1598x662.png) 或者shell 執行 curl 檢查 hit,參考: [How to Configure Varnish for Magento 2.x | Hypernode : Home Support Documentation](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x#Enable-Debug-Headers) ***** ## varnish 中文文檔 基本使用介紹:[How to Boost Your Server Performance with Varnish - SitePoint](https://www.sitepoint.com/how-to-boost-your-server-performance-with-varnish/) [ varnish 4.1中文文檔 (gitbooks.io)](https://jefferywang.gitbooks.io/varnish_4_1_doc_zh/content/chapter3_2_6.html) ***** ## varnish 安裝: When you’re configuring Magento 2 Varnish, you need to check for the version compatibility factor because Magento 2 supports these Varnish versions?**4.x, 5.2 or 6.2.**? Follow these steps for setting up Magento 2 Varnish for your store: 1. Install Varnish https://magemastery.net/blog/how-to-configure-varnish-6-and-nginx-with-ssl-for-magento-2 2. Configure Magento Varnish 3. Verify operation of Varnish With Magento ![](https://img.kancloud.cn/a2/44/a2447977cef2142b32379dfc6cdfce46_778x502.png) 參考如下文章: http://www.hmoore.net/zouhongzhao/magento2-in-action/647798 https://www.cloudways.com/blog/configure-varnish-cache/ https://www.datadoghq.com/blog/top-varnish-performance-metrics/ https://sodocumentation.net/varnish/topic/9072/monitoring-varnish *****
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看