用pgbench使用短連接配接壓測一個postgresql資料庫(select 1),其他資料庫亦如此。
壓測一段時間之後,可能會因為本地(用戶端)的端口耗盡,用戶端會報錯如下
原因是用戶端需要為每一個連接配接動态建立tcp端口,是以每個連接配接會消耗一個端口。
用戶端主動斷開連接配接後,會進入time_wait狀态。
詳見tcp協定
<a href="https://en.wikipedia.org/wiki/transmission_control_protocol">https://en.wikipedia.org/wiki/transmission_control_protocol</a>

但是time_wait是有時間視窗的,linux預設是60秒。
是以如果不停的産生和關閉tcp會話,就可能導緻前面提到的問題。
對于linux的用戶端,通過調整幾個作業系統核心參數可以解決這個問題。