Sha256: 326227e2d8554444ab2aeb36f3ba9c1f528361c5de873fb0a23ad4f2ffd6cba8
Contents?: true
Size: 815 Bytes
Versions: 1
Compression:
Stored size: 815 Bytes
Contents
# frozen_string_literal: true require 'bundler/setup' require 'polyphony/postgres' PGOPTS = { host: '/tmp', user: 'reality', password: nil, dbname: 'reality', sslmode: 'require' } DBPOOL = Polyphony::ResourcePool.new(limit: 8) { PG.connect(PGOPTS) } def get_records(db) res = db.query("select pg_sleep(0.001) as test") # puts "got #{res.ntuples} records: #{res.to_a}" rescue => e puts "got error: #{e.inspect}" puts e.backtrace.join("\n") end CONCURRENCY = ARGV.first ? ARGV.first.to_i : 10 puts "concurrency: #{CONCURRENCY}" DBPOOL.preheat! t0 = Time.now count = 0 coprocs = CONCURRENCY.times.map { spin { loop { DBPOOL.acquire { |db| get_records(db); count += 1 } } } } sleep 5 puts "count: #{count} query rate: #{count / (Time.now - t0)} queries/s" coprocs.each(&:interrupt)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
polyphony-0.19 | examples/interfaces/pg_pool.rb |