天天看點

20.2. Session

firewall (nat session) - switch (Forwarding bandwidth) - os (ulimit,sysctl) - application (httpd,vsftpd,tomcat ...)

會話數,國人俗稱并發數。當你的帶寬沒有滿,但tcp不能建立連接配接,這時你就要考慮會話數了。

購買防火牆的時候主要有兩個名額,一是會話數,二是帶寬,三是配備子產品。售前工程師都會交代清楚。

例如 Cisco ASA 5550 會話數65萬,2個1G接口,可選IPS子產品等等...

使用下面指令可以檢視目前會話數

Linux 影響會話數的的參數與配置檔案

/etc/security/limits.conf , /etc/security/limits.d

nofile - max number of open files 在POSIX系統中硬體,管道,Socket 均被看作是一個裝置,如硬碟是塊裝置,顯示器是字元裝置,操作這些裝置均使用c的open函數,被算作打開一個檔案。所有裝置都是如此,加上web伺服器還要讀取很多HTML檔案,系統對nofile 開銷是非常巨大的。

nproc - max number of processes 目前多線程是主流,使用多線程技術這個參數可以不關心。像Oracle,PostgreSQL, Apache prefork,你就需要關心這個參數

/etc/sysctl.conf , /etc/sysctl.d/

net.ipv4.ip_local_port_range = 1024 65500 可用端口範圍

tcp 協定當你嘗試主動與伺服器建立連接配接,如:telnet 172.16.0.1 80,本地會開啟一個大于1024小于65500的端口

client: localhost:1025 --- 172.16.0.1:80 server

以上參數要綜合你的CPU處理能力,記憶體空間,硬碟IO等等,才能配置出合理數值

配置過大(小馬拉大車),超出你的伺服器處理能力,導緻伺服器無響應,最終隻能重新開機

配置過小(大馬拉小車),你的伺服器長時間處于空間狀态,CPU,記憶體沒有得到合理使用

在我的《Netkiller Linux 手劄》中你可以找到具體的設定方法。

連接配接數受限與limits與sysctl

apache : httpd/conf/extra/httpd-mpm.conf

mysql : /etc/my.cnf

不依依列舉,有興趣看我的系列文檔。

原文出處:Netkiller 系列 手劄

本文作者:陳景峯

轉載請與作者聯系,同時請務必标明文章原始出處和作者資訊及本聲明。

繼續閱讀