nginx為什麼性能這麼優越?
02-10
可以看一下這篇文章:http://www.aosabook.org/en/nginx.html這算是官方解釋。
叔度發的鏈接文章,我看過,對了解NGINX架構和設計理念很有幫助。但是分析源碼之後才能有質的認識,比如NGINX的數據結構設計很精巧,如ngx_array_t, 它其實做到了與數據類型無關、內存的管理、多進程模型、epoll非同步,timer紅黑樹等,為了追求性能有很多值得注意地方,如main函數開始的ngx_strerror_init()函數、重寫一些字元串函數等等。
Nginx伺服器提供了非同步的、非阻塞的Web服務,系統中的模塊各司其職,彼此之間通常使用網路、管道和信號等機制進行通信,從而保持了松耦合的關係。工作進程中事件處理機制的使用,在很大程度上降低了在網路負載繁重的情況下Nginx伺服器對內存、磁碟的壓力,同時保證了對客戶端請求的及時響應。非常榮幸能夠和你一起溝通,交流這個問題。
Nginx之所以性能如此優越,是因為它使用了epoll和kqueue模型。
能承受高並發訪問的著名開業軟體Squid、Memcached採用的都是epoll網路I/O模型。
在linux性能優越,在windows上不如apache穩定。
推薦閱讀:
※Nginx源碼中值得學習的編程風格有哪些?
※微軟的 Web 伺服器為何能屹立不倒?
※nginx 基本入門
※有哪些知名網站Web伺服器是Nginx?
※如何使用Let's Encrypt免費添加HTTPS
TAG:Nginx |