Что лучше для работы с MS SQL базой - терминал или доступ к MS SQL с рабочих станций

1. dicwork 23.12.11 23:59 Сейчас в теме
Имеется 1С 7.7, работающая в терминале с MS SQL 2000. Процессор сервера часто бывает загружен на 100%. Я когда пришел сюда все уже так было настроено и работало. Сейчас в связи с частой перегрузкой сервера, я стал задумываться, что можно изменить, чтобы 1С стала работать быстрее. Статей в Инете на эту тему я не встретил. Может кто исходя из собственного опыта что-то сможет посоветовать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. alexk-is 6546 24.12.11 12:52 Сейчас в теме
(1) Может быть это поможет http://infostart.ru/public/18924/

Для 7.7 терминальный сервер должен располагаться на том же ПК, на котором лежит база данных.
2. dicwork 24.12.11 00:09 Сейчас в теме
Если нужна какая-то дополнительная информация постараюсь сообщить. Очень хочеться разобраться как ускорить работу, если возможно.
3. sasp777 24.12.11 06:14 Сейчас в теме
больше данных нужно
Какой объем БД
Сколько пользователей
в каком режиме сейчас работает
Какой процесс больше всего нагружает процессор...
7. dicwork 24.12.11 16:35 Сейчас в теме
(3) KorotaevALL
База до 10 Гб, пользователей около 40, работает в терминальном режиме на SQL. Больше всего процессор использует обычно процесс SQL сервера, но бывает и 1С-ные процессы. Точной конфигурации сервера я не знаю - получали до меня, да и стоит он в серверной возле сисадминов. Но мне говорили, что стоит два двухядерных процессора.
8. alexk-is 6546 24.12.11 19:28 Сейчас в теме
(7) Может быть это поможет
Если МонопольныйРежим() = 0 Тогда
	//	vk_sleep_1C.dll - Конфликт блокировок в разделенном режиме 1С:Предприятия 7.7
	Если глЗагрузкаБиблиотеки("vk_sleep_1C.dll") = 1 Тогда
		vk_sleep = СоздатьОбъект("Addin.vk_sleep_1C");
		vk_sleep.УстановитьПаузуПриБлокировке(10, "7.7");
	КонецЕсли;
КонецЕсли;

vk_sleep_1C.dll - библиотека позволяет снизить нагрузку на процессор в случае конфликта блокировок, особенно это эффективно при работе в терминальном режиме. Существует несколько версий библиотеки с несколько различным порядком работы с задержками блокировок. Библиотеку можно поискать на просторах интернета. Одну из версий библиотеки можно скачать здесь http://infostart.ru/public/18657/

Есть и другие способы разрешения конфликта блокировок, которые нагружают процессор.

По поводу сервера. Для 40 пользователей процессоров должно быть побольше.
9. dicwork 24.12.11 22:10 Сейчас в теме
(8) alexk-is
А куда нужно помещать указанный Вами код?
По-поводу процессоров - наши сисадмины сейчас прорабатывают вопрос покупки нового сервера.
Просто пользователи звонят нам по поводу медленной работы и хотелось бы им как-то помочь.
11. alexk-is 6546 25.12.11 00:15 Сейчас в теме
(9) В конец глобального модуля. Также как и код из первого примера статьи
(10) Библилиотека внутри дистрибутива конфигурации
10. dicwork 24.12.11 22:44 Сейчас в теме
(8) alexk-is
По указанной Вами ссылке находится какая-то конфигурация для водоканала
4. awk 745 24.12.11 09:23 Сейчас в теме
Если абстрактно, то самый быстрый вариант это терминал + файловая бд. Однако на больших обьемах и прм большом количестве пользователей - это совсем не вариант. Я бы посоветовал разнести сервер бд и терминал на разные компьютеры, но боюсь со штатной семеркой это не поможет.
5. пользователь 24.12.11 09:23
Сообщение было скрыто модератором.
...
12. vitn 26.12.11 04:39 Сейчас в теме
alexk-is пишет:
vk_sleep_1C.dll


Полностью согласен - с vk_sleep_1C.dll 1С Предприятие 7.7 работает реально лучше (особенно при работе 1С на терминальном сервере) т.к. нет взамных блокировок.
13. Nelli_A86 26.12.11 09:06 Сейчас в теме
Есть похожая проблема с восьмеркой, работает на SQL, но без терминала, база не большая (ок. 2 гигов) и пользователей не больше 20, но быстродействие низкое... Может кто посоветует, лучше перевести ее на терминал или есть какие-то настройки сервера (SQL или 1С), чтобы эффективность работы увеличить?
14. adanil 4 26.12.11 09:18 Сейчас в теме
Nelli_A86 пишет:

Есть похожая проблема с восьмеркой, работает на SQL, но без терминала, база не большая (ок. 2 гигов) и пользователей не больше 20, но быстродействие низкое... Может кто посоветует, лучше перевести ее на терминал или есть какие-то настройки сервера (SQL или 1С), чтобы эффективность работы увеличить?

Скорее всего дело в "железе", поставить SQL и 1С сервера помощнее, выделить для SQL побольше памяти. Еще можно перевести базу на 8.2 если у вас 8.1
15. Nelli_A86 26.12.11 09:22 Сейчас в теме
У нас 8.2, а железо улучшить, к сожалению возможности нет... На сайте 1С (ИТС) есть статья, где советуют увеличить кличество рабочих процессов, но там пример приводится, где гораздо больше пользователей, думаю, поможет это или добьет сервак окончатеьно?
17. alexk-is 6546 26.12.11 21:42 Сейчас в теме
(15) Нужно считать не количество пользователей (рабочих мест), а количество одновременных подключений к 1С:Серверу. Как показывает практика, до 50 одновременных подключений прекрасно справляется 1 рабочий процесс. При увеличении количества рабочих процессов возрастают издержки на синхронизацию их работы.

Обычно 2 Гб для SQL это не размер, а так баловство.
Что у вас используется в качестве SQL сервера?
romansun; +1 Ответить
16. vasilykushnir 63 26.12.11 09:51 Сейчас в теме
Вот как у меня:
- mdf 102GB, расположен ( с логом) на отдельном сервере (4 ядра 6 гиг мозгов, рейд 10, скуль 2005 здесь же), с терминальным сервером соединен напрямую карта-карта 1 гигабит. Прямого доступа обычные пользователи естественно не имеют.
- ИБ (7.7.027) на терминальном сервере - 16 гиг мозгов, 8 ядер, естессно рейд SAS.
- пользователи (в пике 50-55) в подавляющем большинстве только в терминалке.
Полет нормальный.
18. romansun 194 26.12.11 22:03 Сейчас в теме
2Гб и 20 пользователей для sql(ms?) - это ничто. Если серьёзно лагает, значит есть какие-то определенные узкие места, которые портят всю картину.
19. Nelli_A86 27.12.11 06:49 Сейчас в теме
(18) romansun, Аппаратная конфигурация: intel core™ 2 Cuad, 4 ГБ ОЗУ, винт Raptor. Программная: Windows 2008 R2 + MS SQL 2005, 1С 8.2 (8.2.14.540)
20. Kinestetik 24 27.12.11 09:40 Сейчас в теме
терминал и SQL лучше всего разносить на разные машины, причем на разные физические, а не виртуальные!!! Во-первых, SQL-ю чем больше памяти, тем лучше, т.к. при этом уменьшается количество операций чтения-записи на диски, свопирования и т.д., для больших баз это может быть очень критично. Далее, SQL нужно максимум времени и ядер ЦП для эффективной работы Во-вторых, надо проверить то, что описано в сообщении №8, это может очень сильно тормозить вашу систему. В-третьих, 1С 7.7 работает, в основном, в режиме толстого клиента (в терминологии 1С 8.2), т.е. группировки по группам справочников, вычисление агрегатных функций выполняется на клиенте, а на сервере только открывается серверный курсор последовательного доступа, через него происходит считывание данных на клиента...Поэтому при формировании больших отчетов в терминале это тоже может хорошо тормознуть всю систему!!!

Рекомендую обязательно разносить сервер БД и сервер терминалов!!!
21. Chubik00 27.12.11 19:51 Сейчас в теме
У нас используется терминальный сервер + отдельный SQL, все на Server2008, под SQL выделено 8 гигов памяти, под терминальный тоже 8, 1С пашет в режиме управляемого приложения, запускается как RDP-приложение(забыл как его майкрософт обозвал, короче передаются данные только приложения) , 100+ одновременных подключений, все норм, никаких проблем. Как по мне то этот вариант наиболее предпочтителен
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот