<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ab -c 10 -n 100?http://localhost/project/moodle33/ \-c10表示并發用戶數為10 \-n100表示請求總數為100 http://a.ilanni.com/index.php表示請求的目標URL 這行表示同時處理100個請求并運行10次index.php文件。 D:\\xampp\\apache\\bin>ab -n1000 -c100 http://localhost/project/moodle33/ This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.4.23? ? ? ??表示被測試的Web服務器軟件名稱。 Server Hostname: localhost? ? ? ? ? ? ? ? ? ? 表示請求的URL主機名。 Server Port: 80? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?表示被測試的Web服務器軟件的監聽端口。 Document Path: /project/moodle33/? ? ? ? ?表示請求的URL中的根絕對路徑,通過該文件的后綴名,我們一般可以了解該請求的類型 Document Length: 27722 bytes? ? ? ? ? ? ? ? 表示HTTP響應數據的正文長度。 Concurrency Level: 100? ? ? ? ? ? ? ? ? ? ? ? ? ? ?表示并發用戶數,這是我們設置的參數之一。 Time taken for tests: 24.916 seconds? ? ? ?表示所有這些請求被處理完成所花費的總時間 Complete requests: 1000? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?表示總請求數量,這是我們設置的參數之一。 Failed requests: 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示失敗的請求數量,這里的失敗是指請求在連接服務器、發送數據等環節發生異常,以及無響應后超時的情況。如果接收到的HTTP響應數據的頭信息中含有2XX以外的狀態碼,則會在測試結果中顯示另一個名為“Non-2xx responses”的統計項,用于統計這部分請求數,這些請求并不算在失敗的請求中。 Total transferred: 28378000 bytes? ? ? ? ? ? ? ?表示所有請求的響應數據長度總和,包括每個HTTP響應數據的頭信息和正文數據的長度。注意這里不包括HTTP請求數據的長度,僅僅為web服務器流向用戶PC的應用層數據總長度。 HTML transferred: 27722000 bytes? ? ? ? ? ? ? ? ? 表示所有請求的響應數據中正文數據的總和,也就是減去了Total transferred中HTTP響應數據中的頭信息的長度。 Requests per second: 40.13 \[#/sec\] (mean)? ? ? (每秒并發數)吞吐率,計算公式:Complete requests/Time taken for tests Time per request: 2491.600 \[ms\] (mean)? ? ? ? ? ??用戶平均請求等待時間,計算公式:Time token for tests/(Complete requests/Concurrency Level)。 Time per request: 24.916 \[ms\] (mean, across all concurrent requests)? ? ??服務器平均請求等待時間,計算公式:Time taken for tests/Complete requests,正好是吞吐率的倒數。也可以這么統計:Time per request/Concurrency Level。 Transfer rate: 1112.25 \[Kbytes/sec\] received? ? ? ? ??表示這些請求在單位時間內從服務器獲取的數據長度,計算公式:Total trnasferred/ Time taken for tests,這個統計很好的說明服務器的處理能力達到極限時,其出口寬帶的需求量。 Connection Times (ms) min mean\[+/-sd\] median max Connect:? ? ? ? ? 0? ? ? ? ? ?0? ? ? ? ? ? ? ? ? ?0.5? ? ? ? ? ? ? 0? ? ? ? ? ? ?5 Processing:? ? 164? ? ? ?2471? ? ? ? ? ? ?1005.1? ? ? ? ?2575? ? ?6998 Waiting:? ? ? ? ? ?117? ? ? 1511? ? ? ? ? ? ?1100.0? ? ? ? ?1166? ? ? 6626 Total:? ? ? ? ? ? ? ?164? ? ? 2471? ? ? ? ? ? ?1005.1? ? ? ? 2576? ? ? 6998 Percentage of the requests served within a certain time (ms毫秒)? ? ??這部分數據用于描述每個請求處理時間的分布情況,比如以上測試,80%的請求處理時間都不超過3078ms,這個處理時間是指前面的Time per request,即對于單個用戶而言,平均每個請求的處理時間。 50% 2576 66% 2810 75% 2961 80% 3078 90% 3557 95% 4226 98% 4881 99% 5088 100% 6998 (longest request) # LNMP下PHP網站性能壓力測試工具WebBench安裝教程 依賴: yum install ctags wget make apr\* autoconf automake gcc gcc-c++ 已經確定ctags 是必須的否則安裝不了 隨便找個目錄 一下載webbench wget?[http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz](http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz)?#下載 二、安裝webbench tar zxvf webbench-1.5.tar.gz? ? ? ?#解壓 cd webbench-1.5? ? ? ? ? ? ? ? ? ? ? ?#進入解壓目錄 make #編譯??make install #安裝 ~~~ make && make install ~~~ 三、壓力測試 webbench -c 500 -t 30?[http://127.0.0.1/](http://127.0.0.1/) 參數說明: \-c 500:表示同時產生500個并發連接 \-t 30:表示持續30秒 備注:webbench最大可以模擬30000個并發連接 ~~~ $ webbench -c 500 -t 30 http://119.23.16.104:81/api/login/login_te # 參數說明:-c表示并發數,-t表示時間(秒) Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. # 模擬500個客戶端在30秒內向接口發送請求 Benchmarking: GET http://hostname/api/login 500 clients, running 30 sec. # 每秒鐘傳輸數據量:每分鐘平均有22578次請求連接,服務器每秒傳輸字節為122599。 Speed=22578 pages/min, 122599 bytes/sec. 備注:1GB=1024MB 1MB=1024KB 1KB=1024Byte ~~~ ~~~ # 每秒鐘相應請求數:在30秒期間請求連接成功為11289次,失敗0次。 Requests: 11289 susceed, 0 failed. ~~~ LNMP優化的手段主要包括 文件句柄數量([詳情](https://blog.csdn.net/yetugeng/article/details/88902976)) ~~~ #查詢linux相關的參數(open files 為最大文件句柄數 默認1024) ulimit -a #動態修改最大文件句柄數(只對當前進程有效): ulimit -n 2048 #永久修改最大文件句柄數:vi /etc/security/limits.conf 添加 *  soft  nofile  65536 #軟限制 *  hard  nofile  65536 #硬限制 #分析句柄數:   (1)統計各進程打開句柄數:lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr (2)統計各用戶打開句柄數:lsof -n|awk '{print $3}'|sort|uniq -c|sort -nr (3)統計各命令打開句柄數:lsof -n|awk '{print $1}'|sort|uniq -c|sort -nr ~~~ PHP 緩存 ~~~ 推薦php5.5默認的opcache linux安裝php時記得加上 --enable-opcache ~~~ Nginx編譯 Nginx pagespeed Nginx 緩存 Nginx 壓縮 Nginx CPU綁定 ### Nginx處理PHP請求的流程 ~~~ 第一步:服務器接收請求若發現是PHP請求則轉入第2步 第二步:通過socket方式連接PHP-FPM的FastCGI,讓PHP-FPM處理請求。 第三步:獲取PHP-FPM處理結果,并附加HTTP報頭,返回給客戶端。 ~~~ ### 提高Nginx的PHP并發性 ~~~ #1、調整Nginx的并發連接數 worker_connections 51200;#每個worker進程能并發處理的最大連接數(包含所有連接數) 理論上單臺Nginx服務器的最大連接數為 worker_processes * worker_connections #Nginx要開啟的進程數量 一般為當前機器CPU核心數量的1到2倍 例如2個四核CPU則計算為8 worker_processes auto; #2、調整PHP-FPM的并發連接數 # 3、永久修改系統最大打開文件數量:vim /etc/security/limits.conf # * 表示所有用戶,noproc表示最大進程數量 * soft noproc 11000 * hard noproc 11000 # * 表示所有用戶,nofile表示最大文件打開數量 * soft nofile 65535 * hard nofile 65535 #4、配置文件:vim /usr/local/nginx/conf/nginx.conf #一個nginx進程打開文件描述符的最大數量,建議與Linux的ulimit -n的值保持一致 worker_rlimit_nofile 51200; #啟用epoll use epoll; #keepalive超時時間 keepalive_timeout 60; #客戶端請求頭部的緩沖區大小,可根據系統分頁大小(通過getconf PAGESIZE命令顯示的值 返回的值時Bytes)來設置,一般請求頭大小不超過1KB client_header_buffer_size 32k; HTTP配置 ~~~ http { ~~~ # KeepAlive 超時時長 keepalive_timeout 60; # 客戶端請求內容的緩存區大小 client_body_buffer_size 64K; # 客戶端請求頭部的緩沖區大小,可以根據系統的分頁大小來設置。 client_header_buffer_size 8K; large_client_header_buffers 4 128K; # 客戶端請求內容的最大值 client_max_body_size 8m; # 打開文件的緩存,max是指緩存的最大數量,inactive指緩存過期時間。 open_file_cache max=1024 inactive=30s; # 檢查緩存的有效時間 open_file_cache_valid 30s; # inactive參數的時間內文件的最少使用次數,若超過則保持緩存的打開狀態。 open_file_cache_min_uses 1; # 讀取FastCGI返回信息的緩沖數量和大小 fastcgi_buffers 8 32k; # 讀取FastCGI服務器響應頭部的緩沖區大小 fastcgi_buffer_size 128k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; # 連接到后端FastCGI的超時時間 fastcgi_connect_timeout 120; # 向FastCGI傳送請求的超時時間 fastcgi_send_timeout 120; # 接收FastCGI應答的超時時間 fastcgi_read_timeout 120; } PHP-FPM 設置: vim /usr/local/php/etc/php-fpm.conf # # 進程管理方式: #動態方式(動態dynamic)適合小內存機器,靜態方式(靜態static)適用于大內存機器。動態方式,靈活分配進程,比較節省內存,但同時動態創建回收進程對服務器資源也是一種消耗,受到pm.max_spare_servers參數的影響 pm = dynamic # 最大子進程數量,決定了php-fpm的總進程數量。 pm.max_children = 100 pm.start_servers = 30 pm.min_spare_servers = 20 pm.max_spare_servers = 100 # 每個子進程重啟之前服務的請求數量,存在內存泄漏時比較有用。 # 最大請求數量,php-fpm進程響應500個并發請求后會自動重啟進程。 pm.max_requests = 500 # 請求客戶端延遲,表示等待100秒后會自動結束那些沒有自動結束的php腳本以釋放占用的資源。 request_terminate_timeout = 100 # 打開文件描述符的限制,可使用ulimit -n查看 rlimit_files = 65535 #提高Nginx和php-fpm通信的穩定性 ~~~ ## MySQL MySQL默認配置為`my.cnf`,系統已提供可選的配置文件。 ~~~ $ ll /usr/local/mysql/share/mysql/ # 適合1GB~2GB的RAM my-huge.cnf # 適合512MB的RAM my-large.cnf # 適合32MB~64MB的RAM my-medium.cnf # 適合小于64MB的RAM my-small.cnf # 適合4G+的RAM my-innodb-heavy-4G.cnf ~~~ ## 硬件負載 在壓測期間,可使用`top`命令,觀察目標服務器上性能變化。 ~~~ # 查看CPU負載情況 $ top # 查看內存使用情況 $ free -m # 查看磁盤IO情況 $ iostat -kx 2 # 查看網絡流量情況 # sar -n DEV 2 ~~~
                  <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>

                              哎呀哎呀视频在线观看