企業級Web Nginx 服務最佳化(2)

來源:互聯網
上載者:User

標籤:企業級web nginx 服務最佳化(2)

2.worker_cpu_affinity參數官方說明:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/8D/8B/wKioL1ihWd6ioeQ9AABfDWlMeQs730.jpg-wh_500x0-wm_3-wmp_4-s_3298564834.jpg" title="4cb93bf4-3263-4ca7-9986-92af2165acbe.jpg" alt="wKioL1ihWd6ioeQ9AABfDWlMeQs730.jpg-wh_50" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/8D/8D/wKiom1ihWfjTk6JPAABgw8BP9L8568.jpg-wh_500x0-wm_3-wmp_4-s_649743234.jpg" title="7c1732d9-5ea4-4756-b428-5e410f174822.jpg" alt="wKiom1ihWfjTk6JPAABgw8BP9L8568.jpg-wh_50" />

查看cpu的核心數的情況:[[email protected] conf]# grep "physical" /proc/cpuinfophysical id: 0address sizes: 42 bits physical, 48 bits virtual

top命令很好記得總結

輸入top 按 1 來進行查看。

3.壓力測試配置結果:

a.配置前壓力測試結果:

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/8D/8D/wKiom1ihWiuBjjXwAABkx73XOOI658.jpg-wh_500x0-wm_3-wmp_4-s_2340517045.jpg" title="84bde739-3140-4551-ad70-43cf758eb421.jpg" alt="wKiom1ihWiuBjjXwAABkx73XOOI658.jpg-wh_50" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/8D/8D/wKiom1ihWk_hs5BsAABmm4jXNxs081.jpg-wh_500x0-wm_3-wmp_4-s_3791902866.jpg" title="7bfd1605-12c2-4b62-a9d6-0e376cd0c26c.jpg" alt="wKiom1ihWk_hs5BsAABmm4jXNxs081.jpg-wh_50" />

通過觀察,我們發現配置前不同CPU使用率相對平均。

b.配置worker_cpu_affinity後:

[[email protected] conf]# grep worker_cpu nginx.conf        worker_cpu_affinity 0001 0010 0100 1000;

壓力測試結果如下:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8D/8D/wKiom1ihWoaAB_blAABaI9-eRMs232.jpg-wh_500x0-wm_3-wmp_4-s_2118692155.jpg" title="34725ec3-fe80-4533-9c97-fd48003504d5.jpg" alt="wKiom1ihWoaAB_blAABaI9-eRMs232.jpg-wh_50" />

通過觀察,我們發下配置後不同CPU使用率相對平均,和測試前變化不大。因此預設就比較平均,一方面是軟體自身在逐漸的最佳化使用多核cpu,另一方面測試資料有待調整。

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/8D/8B/wKioL1ihWqixaNLOAABvmCrOxHg203.jpg-wh_500x0-wm_3-wmp_4-s_2338900259.jpg" title="0ad7c894-62b7-436a-917c-3bc9cfd8c042.jpg" alt="wKioL1ihWqixaNLOAABvmCrOxHg203.jpg-wh_50" />

  1. [[email protected]-01 conf]# man taskset

  2. TASKSET(1)                    Linux User’s Manual                   TASKSET(1)

  3. NAME

  4.        taskset - retrieve or set a process’s CPU affinity

  5. SYNOPSIS

  6.        taskset [options] mask command [arg]...

  7.        taskset [options] -p [mask] pid


其他服務可以來進行親和 例如:mysql


650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/8D/8B/wKioL1ihWtTSKnklAAAlSNgJIDs331.jpg-wh_500x0-wm_3-wmp_4-s_1882831217.jpg" title="e571bc50-62ba-4459-9820-5f67389910d2.jpg" alt="wKioL1ihWtTSKnklAAAlSNgJIDs331.jpg-wh_50" />

1.1.5事件處理模型的最佳化

nginx 的串連處理機制在於不同的作業系統採用不同的IO模型,在linux使用epoll的IP多路服用的模型,在freebsd使用kqueue的IO多路服用模型,在solaris使用/dev/poll方式的IO多複用模型,在windows使用的是icop等等。

根據系統類別型不同選擇不同use[kqueue|rtsig|epoll|/dev/poll/select|poll];該參數結合系統使用,不同系統使用參數不同,我們使用的是Centos6.5,因此我們調整為epoll模型。

1.具體的配置參數如下:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/8D/8D/wKiom1ihWvSzmZeJAABrm1CjaE0076.jpg-wh_500x0-wm_3-wmp_4-s_3596763715.jpg" title="9e3f69f3-fc96-4ce2-be69-4ecdfe4620b2.jpg" alt="wKiom1ihWvSzmZeJAABrm1CjaE0076.jpg-wh_50" />

2.官方說明:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/8D/8B/wKioL1ihWxCgNaEsAAA1w7VUAH0164.jpg-wh_500x0-wm_3-wmp_4-s_1384577774.jpg" title="0947f0dc-dc6a-49ab-b857-319f77f5417f.jpg" alt="wKioL1ihWxCgNaEsAAA1w7VUAH0164.jpg-wh_50" />

  1. [[email protected]-01 conf]# grep "epoll" nginx.conf

  2.     use epoll;

1.1.6調整單個進程允許的用戶端最大的串連數

這個值是根據具體伺服器效能程式的記憶體使用量量來制定的(一個進程啟動使用的記憶體根據程式確定)

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8D/8B/wKioL1ihWzywc3aEAAByT92DMbs215.jpg-wh_500x0-wm_3-wmp_4-s_1102421377.jpg" title="c1ce5a13-0447-4a70-a6de-97585af45964.jpg" alt="wKioL1ihWzywc3aEAAByT92DMbs215.jpg-wh_50" />

worker_connections官方說明:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/8D/8D/wKiom1ihW1ngMQYUAACH6yWOyD4832.jpg-wh_500x0-wm_3-wmp_4-s_1542938990.jpg" title="78fd4a4d-a07a-4ac6-906f-9288c6618626.jpg" alt="wKiom1ihW1ngMQYUAACH6yWOyD4832.jpg-wh_50" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/8D/8B/wKioL1ihW3Swcw5NAAHxDscbnno100.jpg-wh_500x0-wm_3-wmp_4-s_1560567537.jpg" title="18ef03fc-69b3-4086-81cd-8dd65692aefa.jpg" alt="wKioL1ihW3Swcw5NAAHxDscbnno100.jpg-wh_50" />

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/8D/8B/wKioL1ihW43zbSRwAABryB6F4Bs025.png-wh_500x0-wm_3-wmp_4-s_1676340750.png" title="0ac1603b-6991-419a-9440-c60624ed7b16.png" alt="wKioL1ihW43zbSRwAABryB6F4Bs025.png-wh_50" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/8B/wKioL1ihW6jAGLJGAAPhxBhdGDo456.png-wh_500x0-wm_3-wmp_4-s_3605269544.png" title="ee57fe74-e672-4c6b-832d-5d1fd9e0cbf5.png" alt="wKioL1ihW6jAGLJGAAPhxBhdGDo456.png-wh_50" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8D/8B/wKioL1ihW7_zGLNCAAEiNJB3kok191.jpg-wh_500x0-wm_3-wmp_4-s_2369862085.jpg" title="bdd9c4b1-2815-4a5c-982d-ead3c02e294c.jpg" alt="wKioL1ihW7_zGLNCAAEiNJB3kok191.jpg-wh_50" />

這個是每個worker進程的用戶端串連數是多少。

1.1.7配置每個進程最大檔案開啟數:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8D/8B/wKioL1ihW-zg0VQmAAAwpBKXKo4270.jpg-wh_500x0-wm_3-wmp_4-s_1515803701.jpg" title="d2ff72cd-b245-48a4-9490-7b0d62fd7dfd.jpg" alt="wKioL1ihW-zg0VQmAAAwpBKXKo4270.jpg-wh_50" />

worker_rlimit_nofilenumber官方說明

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8D/8D/wKiom1ihXAryU-S9AAAxPMZhLuY343.jpg-wh_500x0-wm_3-wmp_4-s_1565439026.jpg" title="d143e7d8-6294-49ab-bb44-36f750400f02.jpg" alt="wKiom1ihXAryU-S9AAAxPMZhLuY343.jpg-wh_50" />

1.1.8最佳化伺服器名字的hash表大小:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8D/8B/wKioL1ihXCvRTo9oAAD9Su5JrDA228.jpg-wh_500x0-wm_3-wmp_4-s_727880777.jpg" title="b580cc98-e390-4896-b3a1-6191b010eff5.jpg" alt="wKioL1ihXCvRTo9oAAD9Su5JrDA228.jpg-wh_50" />650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/8D/8B/wKioL1ihXFPyjTZlAABYLKT3bek268.jpg-wh_500x0-wm_3-wmp_4-s_708947905.jpg" title="f13c6ac2-75cb-4538-af8b-2a64d2ee13d3.jpg" alt="wKioL1ihXFPyjTZlAABYLKT3bek268.jpg-wh_50" />650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/8D/8B/wKioL1ihXGixTBm3AACgoBi_AWo468.jpg-wh_500x0-wm_3-wmp_4-s_3055384168.jpg" title="0cc4291a-a8cf-4b46-a2f3-f108185f9d14.jpg" alt="wKioL1ihXGixTBm3AACgoBi_AWo468.jpg-wh_50" />

出現了這種情況,那就需要將設定值擴大一倍:

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/8B/wKioL1ihXJGRCN71AAARLO4VS1s500.jpg-wh_500x0-wm_3-wmp_4-s_213001344.jpg" title="3969d068-a2ce-4cec-aff8-c327e2ae333d.jpg" alt="wKioL1ihXJGRCN71AAARLO4VS1s500.jpg-wh_50" />

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/8D/8D/wKiom1ihXKqwJiw6AACmhY0tuQ0956.jpg-wh_500x0-wm_3-wmp_4-s_294689865.jpg" title="54eada80-e4c1-4bab-acda-861b89ee211a.jpg" alt="wKiom1ihXKqwJiw6AACmhY0tuQ0956.jpg-wh_50" />

server_names_hash_max_size:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/8D/8E/wKiom1ihXOzAy3PaAABqwTQDQgc289.jpg-wh_500x0-wm_3-wmp_4-s_3773559599.jpg" title="b9bac4b4-08a1-4895-855a-dce99d6c9b4e.jpg" alt="wKiom1ihXOzAy3PaAABqwTQDQgc289.jpg-wh_50" />

1.1.19開啟高效檔案傳輸模式

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8D/8E/wKiom1ihXQvBxe7EAABVgoWzqXI341.jpg-wh_500x0-wm_3-wmp_4-s_2522440553.jpg" title="ad78bdc2-f764-47e7-a0f3-b172ba35e3e9.jpg" alt="wKiom1ihXQvBxe7EAABVgoWzqXI341.jpg-wh_50" />

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8D/8B/wKioL1ihXSKwUCe-AACH_D_zvCk917.jpg-wh_500x0-wm_3-wmp_4-s_742929595.jpg" title="b214fed7-0968-4505-956e-000f80b43c9f.jpg" alt="wKioL1ihXSKwUCe-AACH_D_zvCk917.jpg-wh_50" />


企業級Web Nginx 服務最佳化(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.