Показать сообщение отдельно
Старый 17.04.2008, 17:02   #413
dot22
Неактивный пользователь
 
Пол:Мужской
Регистрация: 01.04.2008
Сообщений: 25
Репутация: 22
По умолчанию Ответ: WINE@Etersoft 1.0 SQL

У кого есть установленный\настроенный Wine@Etersoft и 1Сv77 - подскажите, пожалуйста, какой размер виртуальной памяти они у вас используют?

Суть проблемы:
1Сv7.7.18SQL под Wine@Etersoft-1.0.8SQL работает значительно медленнее, чем под Windows.
У нас два идентичных сервера - двухядерные Xeon 3.8GHz - на одном Windows2003Server Enterpise Edition, на другом - CetnOS 5.1 (2.6.18-53.1.14.el5.centos.plusPAE), отличие только в том, что на виндовой машине установлено 2Гб RAM, на линукс-машине - 4. На обоих установлены одинаковые версии 1С. Идентичные базы. При этом если под виндой в 1С, работающей в штатном режиме (с работающими пользователями от 2 до 5 человек) одна наша тестовая выборка проходит за 18 секунд, то в линуксе - если в базе залогинен один человек, то тест выполняется за 1мин20сек, если же залогинен еще кто-нибудь, то на выполнение теста уходит более 10 минут.
На обоих машинах пользуется 1С - sql-версия, но которая работает в файловом (.dbf) режиме. Я спрашивал у нашего программиста 1С почему база не на SQL-е, он объяснил, что у нас нестандартная конфигурация для 1С, и некоторые операции в сиквеле выполняются не так, как нужно.

Сначала не мог понять даже куда копать, где найти узкое место, из-за которого программа в линуксе работает на порядок медленнее виндовой. Но потом по совету одного форумчанина посмотрел параметры загружки системы.
В top'е у процесса 1С параметр S (Status) во время выполнение 1С - R (Running). Загрузка процессора - до 70%, виртуальной памяти (VIRT) - только для одного экземпляра занято 2,5Гб (при физической на сервере - 4Гб). Понятно теперь почему при запущенном еще одном экземпляре 1С время выполнения запроса увеличивается еще в 5 раз.

Но даже при простое (невыполении никаких запросов) один процесс 1С занимает 2590Мб виртуальной памяти. Ну и два процесса - соответственно 2х2590Мб, причем в независимости от размера используемой базы. Я сначала думал, что можно предположить, что1С под wine забирает под виртуальную память размер, равный размеру самой базы (рабочая база действительно около 2,5Гб), но затем создал и подключил соверенно пустую базу, где только завел двух пользователей и всё - и всё равно процесс 1С работающий с этой базой использует 2, 5Гб виртуальной памяти. Плюс еще откудато появился процесс Explorer.exe, который забирает еще столько же.
1Cv77 пробовал различных версий - NET_21, SQL_18, SQL_21, SQL_25 - без разницы. Wine@Etersoft - различных конфигураций - NET, SQL, LOCAL - без разницы. Пробовал файлы программы и файлы базы располагать на различных файловых системах - ext3, xfs, reiserfs, cifs в различных комбинациях - без разницы. Даже дистрибутив пробовал сменить - работаю под Centos-5.1, но попробовал на этой же машине установить OpenSuSE-10.3 - время выполнения той тестовой выборки осталось неизменным - полторы минуты против 18 секунд под виндой.

И вот что еще заметил. Как я уже говорил выше, размер виртуальной памяти, занимаемой 1С под вайн - 2,5Гб. Но при последующем тестировании выяснилось, что и другие программы запрашивают столько же или немногим меньше. Так, PCSync, помимо того, что занимает 2,5Гб виртуальной памяти, запускает еще один процесс explorer.exe, который занимает не меньше. QIP, судя по top, отъедает 1,1Гб. И даже winediag, от которой нельзя было этого ожидать, требует для себя 1,01Гб. Я в растерянности.
Если кому-нибудь интересно взглянуть на screenshoot top'a
[Для просмотра ссылок требуется регистрация. Зарегистрироваться...]

У кого какие мысли есть по этому поводу?
__________________
Администратор имеет все возможные права, ряд невозможных и два невероятных.
dot22 вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.08316 секунды с 9 запросами