Performance with large printer database

angelb at bugarin.us angelb at bugarin.us
Wed Feb 2 08:56:34 PST 2005


Pat,

If I could only have your hardwares, it would have made my life easier already...I'm drooling at your systems' performance... :)

What seems to me the most likely performance bottleneck is memory. I have 1.5Gb of RAM while you employ nearly 4Gb. You go throuh your ppd list like cutting through butter.

I'm currently using RH's version of CUPS...it's a company policy thing. I'm almost certain that compiling my own will not significantly improve performance but it may worth the effort. But I'll see if I can get more memory for my servers first.

As for the clients, I also used the BrowsePoll directives. With that configuration, if I run an "lpstat -a" my clients will wait for a very long time and it never returns. Now, with Mike's suggestion about removing the BrowsePoll from the clients and using strict BrowseAddress in the server, the client was finally able to list the ppd files in about 40seconds.

If your printers are in different network and you have routes to them, you should be able to use the BrowseAddress. However, if your printers are spread accross the world then you may have to employ a small server to forward your routes to them.

I appreciate very much for your sharing of your configurations.

One more question I'd like to ask you. If you list your printers from the web interface, how fast does it take?

Thanks and good day to you,
Angel

>
> Angel:
>
> Here's my info:
>
>    pjs11 at stump05 pjs11 $ uname -a
>    Linux stump05.mayo.edu 2.4.21-20.ELsmp #1 SMP Wed Aug 18 20:46:40 EDT
> 2004 i686 i686 i386 GNU/Linux
>    pjs11 at stump05 pjs11 $ rpm -qa | grep release
>    redhat-release-3ES-7.3
>    pjs11 at stump05 pjs11 $ cat /etc/redhat-release
>    Red Hat Enterprise Linux ES release 3 (Taroon Update 3)
>
>    pjs11 at stump05 pjs11 $ cat /proc/meminfo
>            total:    used:    free:  shared: buffers:  cached:
>    Mem:  3916861440 1443561472 2473299968        0 303226880 716836864
>    Swap: 2147475456        0 2147475456
>    ...
>
> It's 2 3Ghz xeons, btw.  I'd show my /proc/cpu, but that gets a bit long.
>
>    pjs11 at stump05 pjs11 $ rpm -qi cups
>    Name        : cups        Relocations: (not relocatable)
>    Version     : 1.1.23      Vendor: Easy Software Products
>    Release     : 1           Build Date: Fri 07 Jan 2005 05:54:05 PM CST
>
> I compiled these rpms from source.
>
> And just to show you that I'm not smoking anything:
>
>    pjs11 at stump05 pjs11 $ time lpstat -a | wc
>     5349   37443  250867
>
>    real    0m3.688s
>    user    0m2.050s
>    sys     0m0.430s
>
> Oh, and it doesn't appear to be terribly CPU dependant -- here's the
> same command from another of the print servers I'm trying to cluster.
> this print server is only a 1.2Ghz PIII, although all the software is
> identical:
>
>    pjs11 at stump01 pjs11 $ time lpstat -a | wc
>     5349   37443  250867
>
>    real    0m6.166s
>    user    0m5.030s
>    sys     0m0.030s
>
> Now, if I can just get the clients to work ....
> -- Pat
>
>
> angelb at bugarin.us wrote:
> > Hi Pat.
> >
> > I have about 2190 printers and when I do an "lpstat -a" in our server, it takes about 35-40seconds for all printers to be listed.
> >
> > I'm running RedHat Linux ES Release 3, with 4 Xeon 2.8GHz SMP, and 1.5Gb of RAM in our server.
> >
> > How do you get 6000 printers listed in 8seconds? What kind of hardware are your running for your CUPS server on?
> >
> > Thanks,
> > Angel
> >
> >
> >>Hi:
> >>
> >>I'm attempting to run a 4 node cups server cluster, cups 1.1.23-1 on
> >>redhat enterprise 3.
> >>
> >>Our printer database is currently about 6000 definitions long.  This is
> >>identical on each of the servers.
> >>
> >>On the servers, lpstat -a returns a list of all 6000 servers in about 8
> >>seconds.   A wget of the cups admin printer list page returns in about
> >>the same amount of time (although mozilla takes about a minute to parse
> >>and display that page. :-)  ).
> >>
> >>As a test, I've set up a solaris 8 and a linux FC2 client, each running
> >>a cups-1.1.23 package, with 4 BrowsePoll directives in each client's
> >>cupsd.conf, one BrowsePoll for each of the print servers.
> >>
> >>what I am finding is that when I start the cups daemon on the client, it
> >>immediately shoots to near %100 of the cpu, and stays there for hours
> >>and hours.  during this time, it is wholely unresponsive to any request.
> >>  For instance, I can't do a lpstat, or lpr, or anything, on the client.
> >>  any such command simply hangs.
> >>
> >>Please advise me.  What, if anything, can I do?
> >>
> >>Thanks,
> >>-- Pat
> >
> >





More information about the cups mailing list