这是indexloc提供的服务,不要输入任何密码
Skip to content

load_ppd for 6000 printers takes 25mins 100% cpu #940

@ryjogo

Description

@ryjogo

Is your feature request related to a problem? Please describe.
We have some systems with over 6k printers attached, when loading up the CUPSd service, it takes around 25-30 mins to parse all the PPD's

D [11/Apr/2024:16:34:52 +0000] cupsdRegisterPrinter(p=0x555d2d5fccb0(FR7_Printer))
D [11/Apr/2024:16:34:52 +0000] Loading printer FR7_Color_Printer...
D [11/Apr/2024:16:34:52 +0000] load_ppd: Loading /var/cache/cups/FR7_Color_Printer.data...

I can currently see that this occupies a single CPU core, on a 6 core machine.

Describe the solution you'd like
It would be great if we can load files multi-threaded perhaps? or even have a way to load PPD's and start the service up in the background.

Describe alternatives you've considered
I'm tempted to start to split these printers into seperate CUPS instances, and stick a load-balancer in front - but that doens't work as the load-balancer does not know where to sent the JOB polling request after a print request. i.e., a print request is sent; and the subsequent job polling doesn't contain any data i can pin the connection to, so it can hop to another node; and fail.

Metadata

Metadata

Assignees

Labels

investigatingInvestigating the issueperformanceIssue that adversely affects resource (CPU/memory/storage) usagepriority-medium

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions