LINUX.ORG.RU
ФорумAdmin

1c в wine - сильно грузит проц когда число пользователей больше 29

 , , ,


0

2

Доброго времени суток! Сложилась у нас странная проблема, стоит CentOS 6.2 полностью обновлённый, под ним в WINE@Etersoft version: 1.0.12-eter14/28 вертится 1С-ка (не SQL) и вроде бы прекрасно и стабильно работает, но существует какой-то странный порог, об который она спотыкается. Ниже ежеминутный срез загрузки из top, с указанием количества активных 1С сессий (users). Как видно, когда число пользователей достигает 29 в 15:04 (вот откуда эта цифра берётся?) резко возрастает нагрузка на процессор. И непонятно куда копать...

2012-06-18 14:46:03 26 users, Cpu(s): 17.3%us, 23.4%sy, 0.0%ni, 59.0%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:47:02 26 users, Cpu(s): 16.6%us, 24.1%sy, 0.0%ni, 59.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:48:02 26 users, Cpu(s): 16.8%us, 21.3%sy, 0.0%ni, 61.7%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:49:03 26 users, Cpu(s): 14.8%us, 18.1%sy, 0.0%ni, 66.8%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:50:03 26 users, Cpu(s): 16.6%us, 20.5%sy, 0.0%ni, 62.7%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:51:03 26 users, Cpu(s): 19.0%us, 23.3%sy, 0.0%ni, 57.5%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:52:03 27 users, Cpu(s): 20.4%us, 25.4%sy, 0.0%ni, 54.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:53:03 26 users, Cpu(s): 17.2%us, 22.8%sy, 0.0%ni, 59.8%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:54:02 28 users, Cpu(s): 18.3%us, 23.2%sy, 0.0%ni, 58.2%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 14:55:03 28 users, Cpu(s): 17.4%us, 25.5%sy, 0.0%ni, 56.8%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 14:56:03 29 users, Cpu(s): 22.8%us, 36.6%sy, 0.0%ni, 40.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 14:57:03 27 users, Cpu(s): 17.9%us, 22.9%sy, 0.0%ni, 59.1%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:58:03 27 users, Cpu(s): 19.0%us, 35.1%sy, 0.0%ni, 45.6%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 14:59:03 27 users, Cpu(s): 19.4%us, 30.8%sy, 0.0%ni, 49.7%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:00:03 27 users, Cpu(s): 18.3%us, 28.7%sy, 0.0%ni, 52.8%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:01:02 27 users, Cpu(s): 19.5%us, 34.1%sy, 0.0%ni, 46.3%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:02:03 28 users, Cpu(s): 23.3%us, 33.3%sy, 0.0%ni, 43.3%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:03:03 28 users, Cpu(s): 19.2%us, 28.0%sy, 0.0%ni, 52.5%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 15:04:03 29 users, Cpu(s): 20.4%us, 73.5%sy, 0.0%ni, 6.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:05:03 29 users, Cpu(s): 22.6%us, 69.5%sy, 0.0%ni, 7.9%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:06:03 30 users, Cpu(s): 23.2%us, 71.4%sy, 0.0%ni, 5.2%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:07:03 29 users, Cpu(s): 23.6%us, 67.7%sy, 0.0%ni, 8.5%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:08:02 31 users, Cpu(s): 24.4%us, 73.6%sy, 0.0%ni, 1.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 15:09:03 33 users, Cpu(s): 23.2%us, 76.2%sy, 0.0%ni, 0.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:10:03 34 users, Cpu(s): 26.0%us, 72.1%sy, 0.0%ni, 1.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:11:03 34 users, Cpu(s): 22.3%us, 73.1%sy, 0.0%ni, 4.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:12:03 33 users, Cpu(s): 22.8%us, 76.0%sy, 0.0%ni, 1.1%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:13:03 35 users, Cpu(s): 24.2%us, 69.1%sy, 0.0%ni, 6.5%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:14:03 34 users, Cpu(s): 22.4%us, 73.7%sy, 0.0%ni, 3.8%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:15:02 34 users, Cpu(s): 21.1%us, 29.9%sy, 0.0%ni, 48.6%id, 0.1%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 15:16:03 35 users, Cpu(s): 19.9%us, 29.8%sy, 0.0%ni, 50.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 15:17:03 35 users, Cpu(s): 24.9%us, 73.7%sy, 0.0%ni, 1.2%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:18:03 33 users, Cpu(s): 26.0%us, 73.8%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:19:03 33 users, Cpu(s): 23.9%us, 75.6%sy, 0.0%ni, 0.4%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:20:03 33 users, Cpu(s): 22.5%us, 76.9%sy, 0.0%ni, 0.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:21:03 33 users, Cpu(s): 24.0%us, 75.7%sy, 0.0%ni, 0.1%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:22:02 34 users, Cpu(s): 24.0%us, 75.5%sy, 0.0%ni, 0.4%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:23:03 33 users, Cpu(s): 23.1%us, 75.6%sy, 0.0%ni, 1.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:24:03 33 users, Cpu(s): 22.8%us, 26.7%sy, 0.0%ni, 50.3%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:25:03 33 users, Cpu(s): 22.0%us, 41.0%sy, 0.0%ni, 36.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 15:26:03 33 users, Cpu(s): 21.9%us, 71.5%sy, 0.0%ni, 6.6%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:27:03 32 users, Cpu(s): 22.1%us, 31.4%sy, 0.0%ni, 46.3%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:28:03 33 users, Cpu(s): 26.0%us, 72.2%sy, 0.0%ni, 1.7%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:29:02 32 users, Cpu(s): 21.6%us, 68.1%sy, 0.0%ni, 10.1%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:30:03 32 users, Cpu(s): 23.1%us, 74.8%sy, 0.0%ni, 2.0%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:31:03 32 users, Cpu(s): 22.0%us, 32.5%sy, 0.0%ni, 45.2%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:32:03 32 users, Cpu(s): 22.9%us, 69.8%sy, 0.0%ni, 7.2%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:33:03 33 users, Cpu(s): 25.1%us, 71.8%sy, 0.0%ni, 3.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:34:03 32 users, Cpu(s): 21.5%us, 67.8%sy, 0.0%ni, 10.7%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:35:03 32 users, Cpu(s): 22.3%us, 74.9%sy, 0.0%ni, 2.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:36:02 32 users, Cpu(s): 22.4%us, 75.7%sy, 0.0%ni, 1.7%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:37:03 32 users, Cpu(s): 22.9%us, 75.9%sy, 0.0%ni, 1.1%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:38:03 33 users, Cpu(s): 24.5%us, 71.2%sy, 0.0%ni, 4.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
2012-06-18 15:39:03 32 users, Cpu(s): 23.1%us, 75.4%sy, 0.0%ni, 1.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:40:03 32 users, Cpu(s): 23.6%us, 74.7%sy, 0.0%ni, 1.6%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:41:03 32 users, Cpu(s): 23.5%us, 75.0%sy, 0.0%ni, 1.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:42:03 32 users, Cpu(s): 22.4%us, 77.1%sy, 0.0%ni, 0.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:43:02 33 users, Cpu(s): 25.5%us, 72.8%sy, 0.0%ni, 1.6%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:44:03 32 users, Cpu(s): 24.5%us, 73.4%sy, 0.0%ni, 2.0%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:45:03 32 users, Cpu(s): 24.5%us, 72.2%sy, 0.0%ni, 3.2%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:46:03 32 users, Cpu(s): 22.7%us, 75.9%sy, 0.0%ni, 1.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:47:03 32 users, Cpu(s): 25.4%us, 73.9%sy, 0.0%ni, 0.6%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:48:03 33 users, Cpu(s): 23.3%us, 75.7%sy, 0.0%ni, 1.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
2012-06-18 15:49:03 31 users, Cpu(s): 23.9%us, 74.5%sy, 0.0%ni, 1.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:50:03 31 users, Cpu(s): 23.4%us, 74.5%sy, 0.0%ni, 2.1%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
2012-06-18 15:51:03 31 users, Cpu(s): 24.9%us, 69.6%sy, 0.0%ni, 5.2%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:52:03 31 users, Cpu(s): 22.4%us, 70.1%sy, 0.0%ni, 7.3%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:53:03 32 users, Cpu(s): 24.1%us, 75.1%sy, 0.0%ni, 0.6%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:54:03 32 users, Cpu(s): 24.6%us, 73.2%sy, 0.0%ni, 2.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
2012-06-18 15:55:03 33 users, Cpu(s): 21.9%us, 70.0%sy, 0.0%ni, 8.0%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st

А вот вывод команды winediag:

Программа диагностики для WINE@Etersoft 1.0.12-eter28. © 2005, 2006, 2007, 2008, 2009 Etersoft

Проверяем libwine.so.1... ИМЕЕТСЯ. (сборка WINE@Etersoft 1.0.12-eter14) Проверяем /usr/bin/winelog ... пакет WINE@Etersoft: УСТАНОВЛЕН Проверяем libwine-etersoft.so.1... NETWORK ИМЕЕТСЯ

WINE@Etersoft version: 1.0.12-eter14/28

Загружен правильный модуль etercifs версии 5.4.2. Проверяем libcups.so.2... ИМЕЕТСЯ. Проверяем libfreetype.so.6...ИМЕЕТСЯ (версия 2.3.11)

Используемая модель потоков (thread): pthread (NPTL)
Ядро: Linux, версия: 2.6.32-220.17.1.el6.x86_64 (архитектура: x86_64)
Заданная версия Windows: winxp ()
Максимальное число файловых дескрипторов в системе: 104854 (54528 используется)
Максимально доступное количество открытых файлов для одного процесса: 20000
Число тиков таймера в секунду (CLK_TCK): 100
Нет ограничений виртуальной памяти
Проверка на futimes: OK
Количество бит для смещения в файле: 64
Установка блокировки на смещение более 512Мб прошла успешно
Установка блокировки на смещение более 4Гб прошла успешно
Текущая локаль: ru_RU.utf8
Real BIOS manufactured date: 23.06.1999
Код последней ошибки, выявленной winediag: WE55

Есть какие-нибудь идеи? Пользователи соединяются через nx, сервер вертится в kvm-виртуалке на том же centos 6.2 (2.6.32-220.17.1.el6.x86_64).



Последнее исправление: CYB3R (всего исправлений: 2)

Задачка с кучей неизвестных..

1. 29-й пользователь что делал в это время?;)

2. Каков размер оперативной памяти всего?

3. Сколько было занятой оперативки во время работы 29-го пользователя?

4. Какие в это же время были размеры свопа, буферов и кешей?

5. Какие запросы пытался обрабатывать сервер до и после начала загрузки сервера?

glibych ★★
()
Ответ на: комментарий от glibych

P.S. Вдогонку.

6. Не могли запустится другие фоновые задачи и загрузить процессор?

glibych ★★
()
Ответ на: комментарий от glibych

1. То же что и все... Лазил в 1С по номенклатуре, выписывал продажи.
2, 3, 4. Оперативки 25Гб, занято 11Гб. из них буферов 400Мб, кешей 6600Мб. Swap 4Гб, занято 0. Жёсткие - ssd, raid 10.
5. Тут бы поподробней... Сервер используется только как терминальный для 1С, больше на нём не вертится.
6. В top только 1cv7 и wineserver сьедают проц, ещё немного nx и sshd. Но это всё есть и до и после 29 пользователя. Ситуация повторяется изо дня в день, кто и что делает не важно, влияет похоже количество.

juster
() автор топика
Ответ на: комментарий от delete83

Выглядит, как проблема с блокировками на самбе (как они там ее обозвали?). Они с этими блокировками много мудрили и скорее всего сделали через костыли. Вот и нашли вы предел этих костылей.

delete83 ★★
()

Наковырял в инете следующее решение: как уже писалось мною ранее нагрузка пропадает если выполнять запуск с эмуляцией рабочего стола (пункт графика в winecfg).

blackst0ne ★★★★★
()

Вы же сами видите, что загрузка процессора возрастает в ядре, а не в user-space, что уже должно наводить на нехорошие мысли о лимитах. В семерочке много файлов и они весьма часто блокируются пользователями довольно хитрым способом. Система банально может ждать, когда нужный сразу 10 пользователям файл окажется свободным.

А насчет 29 пользователя... Выборка не репрезентативна. Нужна подробная статистика за пару недель с допросом сотрудников, что они делали в момент, когда все стало тормозить.

delete83 ★★
()
Ответ на: комментарий от delete83

1С у нас пока ещё семёрка.

Вы же сами видите, что загрузка процессора возрастает в ядре, а не в user-space, что уже должно наводить на нехорошие мысли о лимитах.

Так в том то и дело, что видны лимиты... но не понятно какие. В etersoft отписались, ждём недождёмся.
Про 29го - дело, наверное, не в самой цифре, а в том что указанный пользователь какие-то лимиты в системе достигает или лимиты в wine.
Пара недель допросов сотрудников показала - что они просто занимаются продажами. А статистика наблюдений - что когда на сервере менее 25 пользователей то такого скачка нагрузки не происходит ни при каких условиях.

Система банально может ждать, когда нужный сразу 10 пользователям файл окажется свободным.

Может она и правда банально ждёт, но загрузки процессора быть не должно, т.к. юзаем специальную библиотеку http://kb.mista.ru/article.php?id=179%29

juster
() автор топика
Ответ на: комментарий от blackst0ne

Наковырял в инете следующее решение: как уже писалось мною ранее нагрузка пропадает если выполнять запуск с эмуляцией рабочего стола (пункт графика в winecfg).

Спасибо, проверим, но тут про 8-ю версию, а у нас 7-я и грузит только когда много людей на сервере сидит.

juster
() автор топика
Ответ на: комментарий от delete83

Выглядит, как проблема с блокировками на самбе (как они там ее обозвали?). Они с этими блокировками много мудрили и скорее всего сделали через костыли. Вот и нашли вы предел этих костылей.

Etercifs последней распоследней версии стоит... Но идея интересная, напишем в багтрекер.

juster
() автор топика
Ответ на: комментарий от juster

5. Тут бы поподробней... Сервер используется только как терминальный для 1С, больше на нём не вертится.

В смысле, не входит ли система в клинч из-за повышения сетевой активности. Посмотрите среднее количество пакетов до нагрузки и после появления. Обратите внимание, если при взаимодействии клиентов с сервером задействуются другие сервера.

P.S. Встречались даже занятные ситуации, когда пытались увеличить мощность основного сервера якобы не справляющегося ввиду высокой нагрузки, но получали еще большие тормоза. Т.е. более мощный сервер грузил соседние сервера еще шустрее и система падала в несколько раз быстрее. По хорошему нужно добыть детальную статистику и неплохо бы на это время включить трассировку.

glibych ★★
()

В порядке бреда, 29 = 32 - stdin - stdout - stderr, если к примеру, в limits задано ограничение на 32 открытых файла, а 1С для каждого клиента держит файл открытым.

backbone ★★★★★
()
Ответ на: комментарий от backbone

В порядке бреда, 29 = 32 - stdin - stdout - stderr, если к примеру, в limits задано ограничение на 32 открытых файла, а 1С для каждого клиента держит файл открытым.

Ну как бреда, такая ситуация была. Только тормозов не было а просто wine ругался на нехватку открытых файлов и вылетал. В /etc/security/limits.conf повышали соответствующее ограничение, я в первом после привёл данные:

Максимальное число файловых дескрипторов в системе: 104854 (54528 используется)
Максимально доступное количество открытых файлов для одного процесса: 20000

Может это тогда ограничение на количество терминалов или нечто подобное? Главное пользователи то добавляются и дальше, и могут работать, просто тормозить начинает.

juster
() автор топика
Ответ на: комментарий от glibych

По хорошему нужно добыть детальную статистику и неплохо бы на это время включить трассировку.

А точно надо этим заниматься? Циска центральная с сервером соединена гигабитом. Циска центральная с циской где пользователи сидят соединена 6Мбит-ным каналом через VPN-туннель. Если верить циске (а как ей не верить?) канал и наполовину не загружается а тормоза есть.
Мы ни кластер ни распределение нагрузки - ничего не делали, и база, повторюсь, файловая.

juster
() автор топика
Ответ на: комментарий от juster

Трассировка процессов внесет ясность где именно затык.

Хотя проблема может быть в медленных клиентах и дурацких блокировках. Вот цитата:

30-50 пользователей 1С При таком количестве пользователей мы рекомендуем использовать как минимум два сервера - один для базы данных, второй для терминалов. Наличие сервера терминалов полагаем обязательным, поскольку управление ПО на таком количестве машин уже начинает становиться сложной задачей, да и одна из слабых клиентских машин может затормозить работу всей системы (виной тому пресловутые «транзакции», более корректно - блокировки). Сервер приложений, в зависимости от нагрузки, можно разместить на одном из этих серверов (его расположение в общем-то не существенно, просто нагрузка на серверы может распределяться по-разному в зависимости от конфигурации 1С). Для удобства будем полагать, что он совмещен с сервером БД. Впрочем, при высокой интенсивности работы и в некоторых конфигурациях 1С выделенный сервер приложений все же может потребоваться - это надо выяснять в каждом конкретном случае индивидуально (лучше всего предварительно выяснить процент процессорного времени, занимаемый сервером приложений в нынешней системе).

Взято отсюда

Возможно это Ваш случай, но могу ошибаться. Лучше воспользоваться strace или аналогичными инструментами, чтобы выяснить это точно.

glibych ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.