CUPS 1.3.6 - performance issue in Solaris

angelb angelb at bugarin.us
Wed Mar 26 08:59:20 PDT 2008


> Here are some stats of CUPS 1.3.6 running in Solaris.
>
> First, a brief stats on CUPS 1.3.5 followed by CUPS 1.3.6.
>
> CUPS 1.3.5:
>
> # grep VERSION cups-config
> VERSION="1.3.5"
> APIVERSION="1.3"
>
> With LogLevel debug2:
> # grep LogLevel cupsd.conf
> LogLevel debug2
>
> # timex lpstat -p|wc
>
> real       22.88
> user        3.07
> sys         0.11
>
>     2708   29788  167960
>
> With LogLevel info:
> # grep LogLevel cupsd.conf
> LogLevel info
>
> # timex lpstat -p|wc
>
> real        3.69
> user        2.97
> sys         0.09
>
>     2708   29788  167960
>
>
> CUPS 1.3.6:
> # grep VERSION cups-config
> VERSION="1.3.6"
> APIVERSION="1.3"
>
> With LogLevel debug2:
> sapts01f# grep LogLevel cupsd.conf
> LogLevel debug2
>
> # timex lpstat -p|wc
> Command terminated abnormally.    <---- I've control-break out
>
> real    14:10.63  <---- running for 14minutes
> user       18.87
> sys         3.75
>
> Executing truss while lpstat is running, it looks like it's stuck in a
> loop:
>
> ...
> brk(0x052E2780)                                 = 0
> brk(0x052E4780)                                 = 0
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> brk(0x052E4780)                                 = 0
> brk(0x052E6780)                                 = 0
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> time()                                          = 1206482265
> recv(5, " I\017 d o c u m e n t -".., 2048, 0)  = 2028
> brk(0x052E6780)                                 = 0
> brk(0x052E8780)                                 = 0
> ...
>
>
> Stop cupsd and then restart to create the remote.cache file,
> the lpstat then completed sooner(not faster):
>
> # /etc/abinit.d/cups stop
> Stopping the CUPS IPP Print System.
>
> # /etc/abinit.d/cups start
> CUPS IPP Print System starting.
> #
> # timex lpstat -p|wc
>
> real       23.11
> user        3.01
> sys         0.10
>
>
> With LogLevel info:
> # grep LogLevel cupsd.conf
> LogLevel info
>
> # timex lpstat -p|wc
>
> real        3.70
> user        2.98
> sys         0.09
>
>     2708   29788  167960
>
>
> Conclusion:
> CUPS 1.3.6 appears to have the same issues I've encountered in CUPS
> 1.3.5. Two unrelated objects appears to affect CUPS 1.3 performance
> and they are the remote.cache and LogLevel.
>
> When a client starts for the first time, and LogLevel is set at debug2,
> and the client have completed polling server for the printers list,
> when running an lpstat, it goes into what appears to be a loop.
> However, after stoping and starting cupsd, it creates the remote.cache
> file and then the lpstat command comes back after ~23seconds.
>
> Now, when LogLevel is set to info(whether remote.cache exist or not),
> the lpstat command comes bakup after ~3seconds.
>
>
> I have another Solaris system that I'll be testing CUPS 1.3.6 and see
> if I can duplicate the issues. I'm not optimistic CUPS 1.3.6 will be
> any different since I've installed CUPS 1.3.5 on both Solaris boxes,
> they both had the same issues.
>

Just a quick update on "LogLevel info" without remote.cache:

# timex lpstat -p|wc

real     2:18.04
user     1:27.42
sys         9.66

    2708   29788  167960


And, "LogLevel info" with cache:
# timex lpstat -p|wc

real        3.67
user        2.95
sys         0.09

    2708   29788  167960









More information about the cups mailing list