vector<TypedQuery> domains;
Inflighter<vector<TypedQuery>, SendReceive> inflighter(domains, sr);
- inflighter.d_maxInFlight = 100;
+ inflighter.d_maxInFlight = 1000;
inflighter.d_timeoutSeconds = 3;
+ inflighter.d_burst = 100;
string line;
pair<string, string> split;
po::variables_map g_vm;
bool g_verbose;
-AtomicCounter g_pos;
+AtomicCounter g_pos, g_numQueries;
uint16_t g_maxOutstanding;
void RuntimeError(const boost::format& fmt)
len = recvfrom(cs->fd, packet, sizeof(packet), 0, (struct sockaddr*) &remote, &socklen);
if(len < 0)
continue;
-
+ g_numQueries++;
/* right now, this is our simple round robin downstream selector */
DownstreamState& ss = g_dstates[(g_pos++) % g_numremotes];
unsigned int idOffset = (ss.idOffset++) % g_maxOutstanding;
int interval =g_vm["stats-interval"].as<int>();
if(!interval)
return 0;
-
+ uint32_t lastQueries=0;
for(;;) {
sleep(interval);
+
unsigned int outstanding=0;
for(unsigned int n=0; n < g_numremotes; ++n) {
const DownstreamState& dss = g_dstates[n];
outstanding++;
}
}
- cout<<outstanding<<" outstanding queries"<<endl;
+ cout<<outstanding<<" outstanding queries, " << (g_numQueries - lastQueries)/interval <<" qps"<<endl;
+ lastQueries=g_numQueries;
}
return 0;
}