[Xapian-discuss] xapian-tcpsrv very slow (for me, too!)

Philip Neustrom philipn at gmail.com
Tue Mar 28 13:00:26 BST 2006


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,
>     Olly

xapian-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



More information about the Xapian-discuss mailing list