On Aug 22, 2015, at 6:03 PM, barcaroller <barcarol...@gmail.com> wrote:

> Using the Boost timer functions.  I could be wrong but I think they are based 
> on gettimeofday().

So probably real-time.

That means that, *if* there are other processes on the machine, some of the 
time *could* be due to other processes having all the cores, but, with 8 cores, 
that's unlikely unless your test programs are lighting up all 8 cores.

> Minutes.  If I run my test programs for two minutes, the average rates are 
> great.  If I run them for 15 minutes, the average rates drop dramatically.
> 
> I also keep track of the maximum times for individual pcap_next_ex() and 
> pcap_dump() calls.  For the two minute test, the maximum (not average) for 
> both functions is <10 microseconds.  For the 15 minute test, the maximum (not 
> average) for both functions can be as high as 2,000,000 microseconds (2 
> seconds).

pcap_dump() is pretty simple - just a couple of fwrite() calls.  fwrite() is 
probably just copying stuff into the FILE *'s buffer and, eventually, 
write()ing it out.

I don't know whether you could use strace to see how long whatever write() 
calls it makes take, but, with plenty of free disk space and files only getting 
to 100MB, I don't see what would cause write() calls to take up to 2 seconds.

> Currently the test programs read and write, but not at the same time.  The 
> first phase writes out the packets; the second phase reads them in.

So, during phase 1, it captures packets and writes them out with pcap_dump(), 
and, during phase 2, it reads from the file it just wrote?

When capturing packets, are you using libpcap()?  If so, are you using 
pcap_next_ex() both when capturing-and-writing and when reading?  If so, does 
the slowdown in pcap_next_ex() happen in both phases?

>>> Does anyone know how to explain this?
>> Not without at least knowing on what OS you're doing this.  Those routines 
>> make system calls, so there might be a *kernel* resource involved.
> 
> CentOs 6.5, 8 cores, 16GB RAM, lots of free disk space

I.e. Linux, and on a machine not starved for resources.
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to