I am using Microsoft .NET (2.0) PrintPreviewDialog and
all works well when the Windows default printer is set
to a local printer or a network printer on a Windows
server, but if I set it to a Samba network printer, it
slows down to a crawl. With a Windows server
network printer, it takes about 10 seconds to render
100 pages. With a Samba network printer, it takes
over 5 minutes!
I can see that the preview control is generating
heavy network traffic (5-6% of a 1GB network
connection) continuously throughout the 5 minutes
it takes to generate the preview, which probably
is why it is so slow.
My environment:
Workstation: 3.2 GHz Dual Xeon, 1GB RAM, 1GB NIC,
OS: WinXP SP2
Server: Dual Xeon 2.8 GHz, 2GB RAM, 1GB NIC,
OS: RH ES 3.x
Samba version: Samba 3.0.9.
The printer is a HP LaserJet 4200N.
I have tried different printer drivers,
printers and Samba servers + versions.
I have already posted a question on the Samba
list, but not gotten any replies, so I am hoping that
somebody here would have some advice, since it
only happens with the .NET PrintPreview control
(not with other types of print previews).
My samba configuration file:
[global]
Netbios name = main-lin5
workgroup = acme
os level = 33
security = user
server string = Samba Server
hosts allow = 10. 127.
hide unreadable = yes
browseable = yes
encrypt passwords = yes
wins support = yes
create mask = 0660
directory mask = 0770
oplocks = no
level2 oplocks = no
strict locking = no
printcap name = /etc/printcap
load printers = yes
use client driver = yes
printing = lprng
log file = /var/log/samba/%m.log
log level = 1
max log size = 0
socket options = TCP_NODELAY SO_RCVBUF=8192
SO_SNDBUF=8192
dns proxy = no
#Share Definitions
[homes]
comment = Home Directories
browseable = no
writable = yes
[netlogon]
comment = Network Logon Service
path = /d1/home/netlogon
guest ok = no
writable = no
write list = @mis
share modes = no
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = no
printable = yes
[tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
<snip(more disk shares...)
Any help on this would be greatly appreciated!
Thanks,
Lars