<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi, I'm trying to measure the <span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">
performance<span>&nbsp;</span></span>impact of pgpool in a PostgreSQL stream-replication landscape.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I have done a lot of tests, in all of them:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
1) we achieve best performance when connecting directly to single (master) database</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
2) when using pgpool that connects to a single (master) database performance decrease</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
3)&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">when using pgpool that connects to multiple databases (loadbalancing) performance decrease further</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Therefore, it seem there are no&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">performance advantages using pgpool.</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important"><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">Is this normal or should we expect better performance when using pgpool&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">that
 connects to multiple databases (loadbalancing)?</span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">Is there any&nbsp;</span><span style="font-family: Calibri, Arial, Helvetica, sans-serif;">pgpool configuration we could be missing?&nbsp;</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif;"><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This is my test:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>#<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</span>
<div># PERFORMACE TEST CASE<br>
</div>
<div>#<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</div>
<div><br>
</div>
<div><span style="margin: 0px">#<span style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</span>
<div style="margin: 0px"># HARDWARE<br>
</div>
<div style="margin: 0px">#<span style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</div>
<div style="margin: 0px">DATABASE_SERVER1:&nbsp;<br>
</div>
</div>
<div>vmware esx 6.0, <br>
</div>
<div>2x VCPU (Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz), <br>
</div>
<div>3GB RAM, <br>
</div>
<div>CentOS 7.6 (minimal)<br>
</div>
<div>psql (PostgreSQL) 10.8 (RPMs from PGDG)<br>
</div>
<div><br>
</div>
<div>DATABASE_SERVER2: <br>
</div>
<div>vmware esx 6.0, <br>
</div>
<div>2x VCPU (Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz), <br>
</div>
<div>3GB RAM, <br>
</div>
<div>CentOS 7.6 (minimal)<br>
</div>
<div>psql (PostgreSQL) 10.8 (RPMs from PGDG)<br>
</div>
<div><br>
</div>
<div>PGPOOL_SERVER: <br>
</div>
<div>vmware esx 6.0, <br>
</div>
<div>2 VCPU (Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz), <br>
</div>
<div>3GB RAM, <br>
</div>
<div>CentOS 7.6 (minimal)<br>
</div>
<div>pgpool-II version 4.0.5 (torokiboshi) (RPMs from www.pgpool.net)<br>
</div>
<div><br>
</div>
<div>#<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</div>
<div># ARCHITETTURE<br>
</div>
<div>#<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</div>
<div>database1 is the master, database2 is a follower in stream replication with replication_splot<br>
</div>
<div>PostgreSQL default configuration plus<br>
</div>
<div><br>
</div>
<div>[postgresql.conf]<br>
</div>
<div>listen_addresses = '*'<br>
</div>
<div>wal_level = 'logical'<br>
</div>
<div>max_worker_processes = 4<br>
</div>
<div>max_replication_slots = 4<br>
</div>
<div>max_wal_senders = 4<br>
</div>
<div>track_commit_timestamp = on<br>
</div>
<div>log_statement = 'all'<br>
</div>
<div>hot_standby = on<br>
</div>
<div>hot_standby_feedback = on<br>
</div>
<div><br>
</div>
<div>#<br>
</div>
<div># PGPOOL CONFIGURATION BALANCING (FOR ONLY MASTER I HAVE COMMENTED BACKEND_1)<br>
</div>
<div># [pgpool.conf]<br>
</div>
<div>#<br>
</div>
<div><br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># CONNECTIONS<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>listen_addresses = '*'<br>
</div>
<div>port = 5432<br>
</div>
<div>socket_dir = '/tmp'<br>
</div>
<div>pcp_listen_addresses = '*'<br>
</div>
<div>pcp_port = 9898<br>
</div>
<div>pcp_socket_dir = '/tmp'<br>
</div>
<div>listen_backlog_multiplier = 2<br>
</div>
<div>serialize_accept = off<br>
</div>
<div>backend_hostname0 = 'DATABASE_SERVER1'<br>
</div>
<div>backend_port0 = 5432<br>
</div>
<div>backend_weight0 = 1<br>
</div>
<div>backend_flag0 = 'ALWAYS_MASTER'<br>
</div>
<div>backend_hostname1 = 'DATABASE_SERVER2'<br>
</div>
<div>backend_port1 = 5432<br>
</div>
<div>backend_weight1 = 1<br>
</div>
<div>backend_flag1 = 'ALLOW_TO_FAILOVER'<br>
</div>
<div>enable_pool_hba = on<br>
</div>
<div>pool_passwd = 'pool_passwd'<br>
</div>
<div>authentication_timeout = 60<br>
</div>
<div>allow_clear_text_frontend_auth = off<br>
</div>
<div>ssl = off<br>
</div>
<div>ssl_ciphers = 'HIGH:MEDIUM:&#43;3DES:!aNULL'<br>
</div>
<div>ssl_prefer_server_ciphers = off<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># POOLS<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>num_init_children = 32<br>
</div>
<div>max_pool = 4<br>
</div>
<div>child_life_time = 300<br>
</div>
<div>child_max_connections = 0<br>
</div>
<div>connection_life_time = 0<br>
</div>
<div>client_idle_limit = 0<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># LOGS<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>log_destination = 'syslog,stderr'<br>
</div>
<div>log_line_prefix = '%t: pid %p: '<br>
</div>
<div>log_connections = on<br>
</div>
<div>log_hostname = on<br>
</div>
<div>log_statement = on<br>
</div>
<div>log_per_node_statement = on<br>
</div>
<div>log_client_messages = off<br>
</div>
<div>log_standby_delay = 'if_over_threshold'<br>
</div>
<div>syslog_facility = 'LOCAL0'<br>
</div>
<div>syslog_ident = 'pgpool'<br>
</div>
<div># - Debug -<br>
</div>
<div># log_min_messages = info &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # comment to default<br>
</div>
<div># client_min_messages = log &nbsp; &nbsp; &nbsp; &nbsp; # comment to default<br>
</div>
<div># log_error_verbosity = verbose &nbsp; &nbsp; # comment to default<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># FILE LOCATIONS<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>pid_file_name = '/var/run/pgpool/pgpool.pid'<br>
</div>
<div>logdir = '/tmp'<br>
</div>
<div>connection_cache = on<br>
</div>
<div>reset_query_list = 'ABORT; DISCARD ALL'<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># REPLICATION MODE<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>replication_mode = off<br>
</div>
<div>replicate_select = off<br>
</div>
<div>insert_lock = off<br>
</div>
<div>lobj_lock_table = ''<br>
</div>
<div>replication_stop_on_mismatch = off<br>
</div>
<div>failover_if_affected_tuples_mismatch = off<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># LOAD BALANCING MODE<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>load_balance_mode = on<br>
</div>
<div>ignore_leading_white_space = on<br>
</div>
<div>white_function_list = ''<br>
</div>
<div>black_function_list = 'currval,lastval,nextval,setval,f_unaccent,safeNext10digit,business_partners_earth_func,crm.mde_audit_func,update_crm_record_status_branch_from_business_partners,update_crm_record_status_empl_from_business_partners,port_searth_func,crm.customer_audit_func'<br>
</div>
<div>black_query_pattern_list = ''<br>
</div>
<div>database_redirect_preference_list = 'pgbench:standby'<br>
</div>
<div>app_name_redirect_preference_list = ''<br>
</div>
<div>allow_sql_comments = off<br>
</div>
<div>disable_load_balance_on_write = 'transaction'<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># MASTER/SLAVE MODE<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>master_slave_mode = on<br>
</div>
<div>master_slave_sub_mode = 'stream'<br>
</div>
<div>sr_check_period = 10<br>
</div>
<div>sr_check_user = 'postgres'<br>
</div>
<div>sr_check_password = 'secret'<br>
</div>
<div>sr_check_database = 'postgres'<br>
</div>
<div>delay_threshold = 10000000<br>
</div>
<div>follow_master_command = ''<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># HEALTH CHECK GLOBAL PARAMETERS<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>health_check_period = 0<br>
</div>
<div>health_check_timeout = 20<br>
</div>
<div>health_check_user = 'nobody'<br>
</div>
<div>health_check_password = ''<br>
</div>
<div>health_check_database = ''<br>
</div>
<div>health_check_max_retries = 0<br>
</div>
<div>health_check_retry_delay = 1<br>
</div>
<div>connect_timeout = 10000<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># FAILOVER AND FAILBACK<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>failover_command = ''<br>
</div>
<div>failback_command = ''<br>
</div>
<div>failover_on_backend_error = on<br>
</div>
<div>detach_false_primary = off<br>
</div>
<div>search_primary_node_timeout = 300<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># ONLINE RECOVERY<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>recovery_user = 'nobody'<br>
</div>
<div>recovery_password = ''<br>
</div>
<div>recovery_1st_stage_command = ''<br>
</div>
<div>recovery_2nd_stage_command = ''<br>
</div>
<div>recovery_timeout = 90<br>
</div>
<div>client_idle_limit_in_recovery = 0<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># WATCHDOG<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>use_watchdog = off<br>
</div>
<div>trusted_servers = ''<br>
</div>
<div>ping_path = '/bin'<br>
</div>
<div>wd_hostname = ''<br>
</div>
<div>wd_port = 9000<br>
</div>
<div>wd_priority = 1<br>
</div>
<div>wd_authkey = ''<br>
</div>
<div>wd_ipc_socket_dir = '/tmp'<br>
</div>
<div>delegate_IP = ''<br>
</div>
<div>if_cmd_path = '/sbin'<br>
</div>
<div>if_up_cmd = 'ip addr add $_IP_$/24 dev eth0 label eth0:0'<br>
</div>
<div>if_down_cmd = 'ip addr del $_IP_$/24 dev eth0'<br>
</div>
<div>arping_path = '/usr/sbin'<br>
</div>
<div>arping_cmd = 'arping -U $_IP_$ -w 1'<br>
</div>
<div>clear_memqcache_on_escalation = on<br>
</div>
<div>wd_escalation_command = ''<br>
</div>
<div>wd_de_escalation_command = ''<br>
</div>
<div>failover_when_quorum_exists = on<br>
</div>
<div>failover_require_consensus = on<br>
</div>
<div>allow_multiple_failover_requests_from_node = off<br>
</div>
<div>wd_lifecheck_method = 'heartbeat'<br>
</div>
<div>wd_interval = 10<br>
</div>
<div>wd_heartbeat_port = 9694<br>
</div>
<div>wd_heartbeat_keepalive = 2<br>
</div>
<div>wd_heartbeat_deadtime = 30<br>
</div>
<div>heartbeat_destination0 = 'host0_ip1'<br>
</div>
<div>heartbeat_destination_port0 = 9694 <br>
</div>
<div>heartbeat_device0 = ''<br>
</div>
<div>wd_life_point = 3<br>
</div>
<div>wd_lifecheck_query = 'SELECT 1'<br>
</div>
<div>wd_lifecheck_dbname = 'template1'<br>
</div>
<div>wd_lifecheck_user = 'nobody'<br>
</div>
<div>wd_lifecheck_password = ''<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># OTHERS<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>relcache_expire = 0<br>
</div>
<div>relcache_size = 256<br>
</div>
<div>check_temp_table = on<br>
</div>
<div>check_unlogged_table = on<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div># IN MEMORY QUERY MEMORY CACHE<br>
</div>
<div>#------------------------------------------------------------------------------<br>
</div>
<div>memory_cache_enabled = on<br>
</div>
<div>memqcache_method = 'shmem'<br>
</div>
<div>memqcache_memcached_host = 'localhost'<br>
</div>
<div>memqcache_memcached_port = 11211<br>
</div>
<div>memqcache_total_size = 67108864<br>
</div>
<div>memqcache_max_num_cache = 1000000<br>
</div>
<div>memqcache_expire = 0<br>
</div>
<div>memqcache_auto_cache_invalidation = on<br>
</div>
<div>memqcache_maxcache = 409600<br>
</div>
<div>memqcache_cache_block_size = 1048576<br>
</div>
<div>memqcache_oiddir = '/var/log/pgpool/oiddir'<br>
</div>
<div>white_memqcache_table_list = ''<br>
</div>
<div>black_memqcache_table_list = ''<br>
</div>
<div><br>
</div>
<div>#&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</div>
<div># TEST CASE<br>
</div>
<div>#<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">------------------------------------------------------------------------------</span><br>
</div>
<div><br>
</div>
<div># -----------------------------<br>
</div>
<div># INIT<br>
</div>
<div># -----------------------------<br>
</div>
<div><br>
</div>
<div>dropdb &nbsp; -U postgres -h DATABASE_SERVER1 --if-exists pgbench<br>
</div>
<div>createdb -U postgres -h DATABASE_SERVER1 pgbench<br>
</div>
<div>pgbench &nbsp;-U postgres -h DATABASE_SERVER1 -i pgbench -s 10 pgbench<br>
</div>
<div><br>
</div>
<div># -----------------------------<br>
</div>
<div># TESTS 1<br>
</div>
<div># -----------------------------<br>
</div>
<div><br>
</div>
<div># I have done the same test for each configuration type<br>
</div>
<div>pgbench --client=8 --jobs=4 --progress=60 --transactions=5000 --host=$server --username=postgres pgbench<br>
</div>
<div><br>
</div>
<div># -----------------------------<br>
</div>
<div># RESULTS<br>
</div>
<div># -----------------------------<br>
</div>
<div><br>
</div>
<div><span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important"># -------------------------------------------</span><br>
</div>
<div># direct-to-master without pgpool<br>
</div>
<div><span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important"># -------------------------------------------</span><br>
</div>
<div>scaling factor: 10<br>
</div>
<div>query mode: simple<br>
</div>
<div>number of clients: 8<br>
</div>
<div>number of threads: 4<br>
</div>
<div>number of transactions per client: 5000<br>
</div>
<div>number of transactions actually processed: 40000/40000<br>
</div>
<div>latency average = 8.211 ms<br>
</div>
<div>latency stddev = 12.908 ms<br>
</div>
<div>tps = 966.141510 (including connections establishing)<br>
</div>
<div>tps = 966.557028 (excluding connections establishing)<br>
</div>
<div><br>
</div>
<div>#&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
<div># via pgpool in balance mode<br>
</div>
<div>#&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
<div>scaling factor: 10<br>
</div>
<div>query mode: simple<br>
</div>
<div>number of clients: 8<br>
</div>
<div>number of threads: 4<br>
</div>
<div>number of transactions per client: 5000<br>
</div>
<div>number of transactions actually processed: 40000/40000<br>
</div>
<div>latency average = 15.468 ms<br>
</div>
<div>latency stddev = 19.637 ms<br>
</div>
<div>tps = 511.431795 (including connections establishing)<br>
</div>
<div>tps = 511.572327 (excluding connections establishing)<br>
</div>
<div><br>
</div>
<div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
#&nbsp;<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# via pgpool with only master db&nbsp;<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
#&nbsp;<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
</div>
<div>scaling factor: 10<br>
</div>
<div>query mode: simple<br>
</div>
<div>number of clients: 8<br>
</div>
<div>number of threads: 4<br>
</div>
<div>number of transactions per client: 5000<br>
</div>
<div>number of transactions actually processed: 40000/40000<br>
</div>
<div>latency average = 14.047 ms<br>
</div>
<div>latency stddev = 19.320 ms<br>
</div>
<div>tps = 565.119523 (including connections establishing)<br>
</div>
<div>tps = 565.271648 (excluding connections establishing)<br>
</div>
<div><br>
</div>
<div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# -----------------------------<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# TESTS 2<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# -----------------------------<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# I have done the same test for each configuration type<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# <span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">
scaling<span>&nbsp;</span></span>50</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# <span style="font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); display: inline !important">
memory_cache_enabled = off</span></div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
pgbench --client=8 --jobs=4 --progress=60 --transactions=5000 --host=$server --username=postgres pgbench</div>
</div>
<div><br>
</div>
<div><span>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
#&nbsp;<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# via pgpool with only master db&nbsp;<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
#&nbsp;<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
</span>
<div>scaling factor: 50<br>
</div>
<div>query mode: simple<br>
</div>
<div>number of clients: 8<br>
</div>
<div>number of threads: 4<br>
</div>
<div>number of transactions per client: 5000<br>
</div>
<div>number of transactions actually processed: 40000/40000<br>
</div>
<div>latency average = 8.494 ms<br>
</div>
<div>latency stddev = 12.007 ms<br>
</div>
<div>tps = 934.019342 (including connections establishing)<br>
</div>
<div>tps = 934.392798 (excluding connections establishing)<br>
</div>
<div><br>
</div>
<div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
#&nbsp;<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# via pgpool in balance mode<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
#&nbsp;<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important">-------------------------------------------</span></div>
</div>
<div>scaling factor: 50<br>
</div>
<div>query mode: simple<br>
</div>
<div>number of clients: 8<br>
</div>
<div>number of threads: 4<br>
</div>
<div>number of transactions per client: 5000<br>
</div>
<div>number of transactions actually processed: 40000/40000<br>
</div>
<div>latency average = 32.112 ms<br>
</div>
<div>latency stddev = 191.597 ms<br>
</div>
<div>tps = 248.271885 (including connections establishing)<br>
</div>
<div>tps = 248.303337 (excluding connections establishing)<br>
</div>
<div><br>
</div>
<div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important"># -------------------------------------------</span><br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
# direct-to-master without pgpool<br>
</div>
<div style="margin: 0px; font-family: Calibri, Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255)">
<span style="margin: 0px; background-color: rgb(255, 255, 255); display: inline !important"># -------------------------------------------</span></div>
</div>
<div>scaling factor: 50<br>
</div>
<div>query mode: simple<br>
</div>
<div>number of clients: 8<br>
</div>
<div>number of threads: 4<br>
</div>
<div>number of transactions per client: 5000<br>
</div>
<div>number of transactions actually processed: 40000/40000<br>
</div>
<div>latency average = 18.134 ms<br>
</div>
<div>latency stddev = 58.995 ms<br>
</div>
<div>tps = 438.824935 (including connections establishing)<br>
</div>
<div>tps = 438.918575 (excluding connections establishing)<br>
</div>
<span></span><br>
</div>
<span></span>&nbsp;&nbsp;</div>
</body>
</html>