(一)tcp/ip連線的狀態和對應的個數:
# netstat -an | awk '/^tcp/ end '
(二)提公升伺服器的負載能力:
# vim /etc/sysctl.conf
然後,在這個檔案中,加入下面的幾行內容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 5
最後輸入下面的命令,讓核心引數生效:
# /sbin/sysctl -p
引數說明:
(三)優化tcp/ip的可使用埠範圍,進一步提公升伺服器的併發能力(針對tcp流量比較大的伺服器)
# vim /etc/sysctl.conf,新增如下引數:
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
引數說明:
(四)修改 linux kernel 的 tcp time wait的時間(適用於大量短連線的情況)
在 $kernel/include/net/tcp.h裡面,有下面的行:
#define tcp_timewait_len (60*hz) /* how long to wait to destroy time-wait
* state, about 60 seconds */
而這個巨集是真正控制 tcp time_wait 狀態的超時時間的。如果我們希望減少 time_wait 狀態的數目(從而節省一點點核心操作時間),那麼可以把這個數值設定低一些,根據我們的測試,設定為 10 秒比較合適,也就是把上面的修改為:
#define tcp_timewait_len (10*hz) /* how long to wait to destroy time-wait
* state, about 60 seconds */
然後重新編譯核心,重啟系統即可發現短連線造成的time_wait狀態大大減少:
netstat -ant | grep -i time_wait |wc -l
一般情況都可以至少減少2/3。也能相應提高系統應對短連線的速度
mybatis效能優化之減少資料庫連線
做效能優化的最重要的功能就是減少資料庫的互動,很多程式設計師一般在開發的時候只考慮簡單的實現功能,不管業務簡單複雜,只要實現就行。mybatis有個重要的功能就是考慮在聯合查詢時技巧 jdbctype varchar select t.id,t.name,s.t s id,s.sid,s.sname...
mybatis效能優化之減少資料庫連線
做效能優化的最重要的功能就是減少資料庫的互動,很多程式設計師一般在開發的時候只考慮簡單的實現功能,不管業務簡單複雜,只要實現就行。mybatis有個重要的功能就是考慮在聯合查詢時技巧 jdbctype varchar select t.id,t.name,s.t s id,s.sid,s.sname...
mybatis效能優化之減少資料庫連線
做效能優化的最重要的功能就是減少資料庫的互動,很多程式設計師一般在開發的時候只考慮簡單的實現功能,不管業務簡單複雜,只要實現就行。mybatis有個重要的功能就是考慮在聯合查詢時技巧 select t.id,t.name,s.t s id,s.sid,s.sname from teacher t j...