1. 程式人生 > 其它 >效能優化之核心調優

效能優化之核心調優

效能調優除了常見的程式層面、中介軟體層面與SQL層面優化外,還有一種偏向伺服器本身的優化,通常也叫核心優化

  今天主要介紹下常見的兩種優化方式:

一、高併發伺服器time_wait超時時間優化 

  作業系統預設240s後,才會關閉處於time_wait狀態的連線。在高併發訪問場景下,伺服器端會因為處於time_wait的連線數過多,而無法建立新的連線,所有需要在伺服器上調小此等待值。

  調整方法:在Linux伺服器上可通過變更/etc/sysctl.conf檔案修改該預設值(s)

  net.ipv4.tcp_fin_timeout=30

二、調大伺服器所支援的最大檔案控制代碼數,即fd(全稱:FileDescriptor)

  主流作業系統的設計是將TCP/UDP連線採用與檔案一樣的方式去管理,一個連線對應一個fd。主流的linux伺服器預設支援的最大fd數量為1024,可以通過ulimit -a命令檢視 open files欄位。

當連線數大很容易應為fd不足而出現“open too many files”的錯誤,導致無法建立新的連線。

   調整方法:

    #修改檔案:/etc/security/limits.conf,在檔案中新增

    #限制單個程序最大檔案控制代碼數(到達此限制時系統報警)

      * soft nofile 65536

    #限制單個程序最大檔案控制代碼數(到達此限制時系統報錯)

      * hard nofile 65536

    #修改檔案:/etc/sysctl.conf, 在檔案中新增

    #限制整個系統最大檔案控制代碼數

      fs.file-max=655350