PostgreSQLpgbench支援100萬連線
標籤
PostgreSQL , pgbench , poll , 超過1000連線
背景
《阿里雲 RDS PostgreSQL 高併發特性 vs 社群版本 (1.6萬併發: 3倍吞吐,240倍響應速度)》
最近測試的阿里雲高併發版本的效能,在1.6萬個連線下,實際SQL的響應速度是社群版本的240倍。但是很多網友問怎麼測的1.6萬個連線,因為pgbench預設只能連1000個連線。
超過1000個連線會報錯如下
invalid number of clients
讓pgbench支援100萬個連線
1、需要poll patch
https://commitfest.postgresql.org/18/1388/
wget https://www.postgresql.org/message-id/attachment/60012/pgbench11-ppoll-v12.patch
2、下載PostgreSQL 11原始碼
wget https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
3、patch poll
tar -jxvf postgresql-snapshot.tar.bz2
cd postgresql-11devel
patch -p1 < ../pgbench11-ppoll-v12.patch
4、關閉限制
vi src/bin/pgbench/pgbench.c
//#ifdef HAVE_PPOLL // 修改
#define POLL_USING_PPOLL
#include <poll.h>
//#endif // 修改
case `c`:
benchmarking_option_set = true;
nclients = atoi(optarg);
if (nclients <= 0) // || (MAXCLIENTS != -1 && nclients > MAXCLIENTS)) // 修改
{
5、安裝
./configure --prefix=/home/digoal/pgsql11
make world -j 128
make install-world
現在pgbench可以愉快的測試100萬個連線了。
將來PG社群版本,應該會把PATCH合進來,支援超過1000個連線。
參考
《PostgreSQL 11 preview – pgbench 支援大於1000連結(ppoll()代替select())》
《阿里雲 RDS PostgreSQL 高併發特性 vs 社群版本 (1.6萬併發: 3倍吞吐,240倍響應速度)》
相關文章
- TimesTen支援的連線數
- 1003 電話連線
- 使Domino支援連線池技術
- Linux配置支援高併發TCP連線(socket最大連線數)LinuxTCP
- 連線格式最佳化,支援自定義
- 探討.net Socket支援線上連線數量
- 【譯】MySQL挑戰:建立10萬連線MySql
- 為vert x框架新增druid連線池支援框架UI
- MySQL連線錯誤(10048)的解決方案MySql
- 連線RMAN時報錯ora-01008
- 支援100+業務線、累計釋出17萬次|宜信容器雲的A點與B點(分享實錄)
- 波場DAO設立1000萬美元激勵基金支援Terra開發者
- DxO One獲更新:支援無線連線iPhone還能水下拍攝iPhone
- linux 遠端連線報錯 10038或者10061 或者10060Linux
- 內連線、左連線、右連線
- AWR1243+DCA1000——SPI連線失敗
- 例項解析外連線 內連線 自連線 全連線
- SQL的四種連線:內連線 左外連線 右外連線 全連線SQL
- MYSQL語法:左連線、右連線、內連線、全外連線MySql
- 內連線、外連線
- 連線和半連線
- 左連線,右連線
- Matrikon FLEX OPC UA SDK升級!現在支援反向連線!Flex
- 一臺伺服器最大能支援多少條TCP連線?伺服器TCP
- ECMall如何支援SSL連線郵件伺服器的配置伺服器
- VNCviewer連線錯誤“套接字操作嘗試一個無法連線的主機。(10065)”VNCView
- 深入理解SQL的四種連線-左外連線、右外連線、內連線、全連線SQL
- Oracle內連線、外連線、右外連線、全外連線小總結Oracle
- 資料庫外連線,自然連線,內連線,條件連線,等值連線關係及詳解資料庫
- 索尼PS4 Slim不止輕薄 支援5GHz頻段無線連線!
- Socket連線和Http連線HTTP
- 長連線和短連線
- Oracle(+)連線與Join連線Oracle
- 【SQL】表連線 --半連線SQL
- Oracle左連線,右連線Oracle
- 左連線與右連線
- 左連線和右連線
- 長連線與短連線