Philip Neustrom
2006-Mar-28 13:00 UTC
[Xapian-discuss] xapian-tcpsrv very slow (for me, too!)
I saw the following message in the archives:> > No, our code via php bindings > > Can you isolate what takes the time? Is it the call in the PHP code to > Enquire_get_mset itself, or something later? > > I had a quick look at the code, but nothing jumps out at me as > problematic. If it's Enquire_get_mset that's slow and you've not > figured out the problem, perhaps you could generate a debug trace for me > to look at? > > To do this, "make distclean", and then configure with "./configure > --enable-debug-verbose", then set (and export) XAPIAN_DEBUG_LOG and > XAPIAN_DEBUG_FLAGS in the environment before running your tests - for > bash: > > export XAPIAN_DEBUG_LOG='xapian-%%.log' > export XAPIAN_DEBUG_FLAGS=-1 > > This will generate a file for each PID (so one for the client and one > for the server), called xapian-<PID>.log. They'll probably be large > so compress them (bzip2 or gzip ideally) and send them to me directly. > Hopefully that should shed light on what's going on. > > Cheers, > Ollyxapian-tcpsrv is very slow for me, as well. It takes about 1 second to search a tiny-tiny database, and that same database searches in sub-millisecond times using a local database. (note: i'm using a remote database located at 127.0.0.1, so lag shouldn't be an issue) As requested in the original email, I've sent Olly a copy of my xapian-pid.log. Here's some output from my app around where I access xapian (i'm using python): setting enquire set query with enquire, took 0.00130105018616 seconds getting mset got mset, took 1.10076999664 seconds setting enquire set query with enquire, took 0.00168418884277 seconds getting mset got mset, took 0.999551057816 seconds setting enquire set query with enquire, took 0.00138807296753 seconds getting mset got mset, took 0.934878110886 seconds setting enquire set query with enquire, took 0.0772299766541 seconds getting mset got mset, took 0.833093881607 seconds setting enquire set query with enquire, took 0.00106000900269 seconds getting mset got mset, took 1.07642102242 seconds So, it's the call to enquire.get_mset() that's going nuts. Any ideas? --Philip Neustrom