Появилась идея перенести базу с вендового сервера 1С 7.7 (DBF) на FreeBSD. Перерыв полгугла понял, что идея практически неразрешимая на FreeBSD, ввиду особенностей некоторых нюансов kernel oplocks/oplocks. Сначала вроде все получилось, запускалось с несколько юзеров сразу и тд и тп - но при каком-то небольшом промежутке времени все эти виртуальные юзеры мои вываливались из 1С с ошибкой CODEBASE ERROR ошибка захвата таблицы на чтение или запись. Причем с периодичностью 30-60 минут. Насчет производительности - судя по часам производительность FreeBSD-сервера выигрывала раза в полтора перед вендовым двухголовым Xeon'ом. Я просто создавал однотипные отчеты на обоих серверах сразу и смотрел дельту их создания по времени. Понятное дело, не факт еще, но результаты есть.
Немного технической информации:
Код: Выделить всё
FreeBSD crypto.domain.ru7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #1: Thu Mar 25 16:40:30 MSK 2010 alex@crypto.domain.ru:/usr/obj/usr/src/sys/NG_PF_KERNEL i386
ifconfig
Код: Выделить всё
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM>
ether 00:1f:c6:23:18:9f
inet 172.17.2.120 netmask 0xffff0000 broadcast 172.17.255.255
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM>
ether 00:1f:c6:23:19:49
inet 192.168.0.155 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (none)
status: no carrier
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33204
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Код: Выделить всё
kern.maxfiles: 16384
kern.maxfilesperproc: 16384
kern.polling.enable=1
kern.polling.user_frac=50
kern.polling.idle_poll=1
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
net.inet.tcp.delayed_ack=0
Код: Выделить всё
# smbd -V
Version 3.4.5
Код: Выделить всё
[global]
dos charset = CP866
unix charset = CP1251
display charset = CP1251
workgroup = DOMAIN
realm = DOMAIN.RU
server string = FreeBSD 7.2
interfaces = bge0
bind interfaces only = Yes
security = ADS
auth methods = winbind
password server = pdc.domain.ru
client NTLMv2 auth = Yes
log file = /var/log/samba/log.%m
max log size = 500
defer sharing violations = No
announce as = win95
max xmit = 65535
deadtime = 15
max open files = 65535
socket options = SO_BROADCAST TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=131072 SO_RCVBUF=174769
dns proxy = No
lock spin time = 100000
ldap ssl = no
idmap uid = 10000-65000
idmap gid = 10000-65000
winbind separator = +
winbind enum users = Yes
winbind enum groups = Yes
admin users = DOMAIN.RU+Mnu
fake oplocks = Yes
strict locking = No
[CRYPTO]
comment = Session started at %T
path = /crypto
write list = *
read only = No
create mask = 0660
directory mask = 0770
veto oplock files = /*.LCK/*.lck/*.MD/*.md/*.cdx/*.CDX/*.dbf/*.DBF/
browseable = No
