Как правильно настроить MS SQL сервер для работы с 1С

Публикация № 65955

Администрирование - Производительность и оптимизация (HighLoad)

789
Путем проб и ошибок, путем тестирования на 200+ живых пользователей, консультаций с десятками Гуру и поиска по сотням официальных и не очень сайтов был разработан оптимальный вариант настроек MS SQL для круглосуточной работы более, чем 200 пользователей одновременно.

 1. Настройка сервера

Во-первых нам нужен только сервер, остальные службы, которые к нему относятся и возможно кто-то ими пользуется, нам только тормозят работу. Останавливаем и отключаем такие службы, как FullText Search (у 1С собственный механизм полнотекстового поиска), Integration Services и иже с ними.

Оставляем только:

SQL Server (sqlservr.exe)

SQL Server Agent (SQLAGENT.exe)

SQL  Writer (sqlwriter.exe)

Далее в свойствах сервера, через Server Management Studio устанавливаем:

 

Максимально отведенное серверу количество памяти из расчета:

[Общее количество оперативной памяти сервера] – [4ГБ под систему(2ГБ если Win2003)] – [1,5 ГБ * количество процессов rphost (если SQL и 1С на одном сервере вращаются.)] Например если у нас на сервере всего 36 ГБ оперативной памяти, стоит Windows 2008 и запущено 8 процессов rphost то рассчет идет так: 36 - 4 - 1.5*8 = 20 ГБ ставим ограничение для SQL.

Это необходимо для того, чтобы sql сервер рассчитывал на этот объем и чистил память заблаговременно, т.к. если поставить неограниченный объем, и сервер попробует получить память, которой нет, он начинает крепко задумываться над своим поведением и крайне медленно отвечать на запросы.

Далее:

 

Максимальное количество потоков (Maximum worker threads) ставим 2048, по умолчанию стоит 0 и с таким значением сервер не создает больше 255 потоков, а этого ему не хватает (установлено опытным путем, что при большом количестве одновременных транзакций сервер реально начинает быстрее работать). Также выставляем галку повышенного приоритета сервера (Boost priority).

Собственно с глобальными настройками все. Теперь переходим к настройкам рабочей базы данных (или нескольких баз, если такое имеет место быть).

2. Настройка рабочей базы данных

Заходим в свойства нужной нам базы данных:

 

Если база еще не развернута из .dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать >= размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также, если не используетет RAID массив, то хранение файла базы и файла лога лучше указать на разных физических дисках. Ну и ограничить лог 2-4 ГБ, чтоб сильно не пух.

Остальные настройки как на скришоте:

 

С настройками базы все. Осталось настроить регламентные задания.

3. Настройка регламентных заданий

Сначала создаем Maintenance Plan в разделе Management:

 

Дефрагментацию индексов и сбор статистики нужно производить ежедневно, т.к. если фрагментированость индексов > 25%, это резко снижает производительность сервера. Дефрагментация и обновление статистики делается быстро и не требует отключения пользователей. Насколько ваши индексы фрагментированы можно посмотреть очень хорошей и многофункциональной обработкой Гилева Вячаслава, с названием Lock1C.epf, и которую он убрал со своего сайта из-за наезда 1С-ников за нарушение какого-то пункта лицензионного с., но хорошему админу гугл всегда в помощь J . Также желательно делать полную переиндексацию, с блокировкой БД, хотя бы раз в неделю, естественно после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.

Настройка бэкапа средствами SQL.

Ту все просто, добавляем 2 новых задания Agent'у:

 Full BackUp, с периодичностью 1 раз в сутки и 2мя шагами T-SQL скриптов:

1.       BACKUP DATABASE [<ИмяБД>] TO  DISK = N'<ПутьКПапке>\Backup\<ИмяБД>.bak' WITH NOFORMAT, INIT,  NAME = N'<ИмяБД>-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

2.       USE [<ИмяБД>]

GO

DBCC SHRINKFILE (N'<ИмяБД>_log' , 0)

GO

И второе задание с периодичностью 1 раз в 1-2 часа Differencial BackUp и с одним T-SQL скриптом:

BACKUP DATABASE [<ИмяБД>] TO  DISK = N'<ПутьКПапке>\Backup\<ИмяБД>Diff.bak' WITH  DIFFERENTIAL , NOFORMAT, INIT,  NAME = N'<ИмяБД>-Differential Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

Такой бэкап делается, даже при активной работе пользователей, 4-6 минут и практически не сказывается на быстродействии сервера.

Да, и добавим очистку процедурного после переиндексации (раз в неделю), в задание, кторое у же появилось в агенте после сохранения Maintenance Plan добавляем еще один шаг:

DBCC FREEPROCCACHE

GO

Не забыв поменять в настройках первого шага после завершения не выходить, а перейти к следующему. Спс gilv за подсказку.

Вот, собственно, и все. По поводу бэкапа средствами 1С: //infostart.ru/public/65849/ - Full BackUp и выгрузку 1С можно делать одновременно.

789

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. larisab 159 17.02.10 20:42 Сейчас в теме
2. Sindelik 17.02.10 20:52 Сейчас в теме
3. German 871 17.02.10 21:18 Сейчас в теме
Также желательно делать полную переиндексацию, с блокировкой БД


При индексации блокируется только таблица, незачем делать ее в режиме тестирования и исправления.
4. luns 17.02.10 21:22 Сейчас в теме
Еще бы добавил, что неплохо было бы выставить в свойствах сетевого соединения сервера для компоненты "Служба доступа к файлам и принтерам сети Microsoft" оптимизацию не для файлов а для сетевых приложений.
user931544; +1 Ответить
5. Saint 15 17.02.10 23:20 Сейчас в теме
Нифига не понял в формуле расчёта максимального количества памяти.
10. a-novoselov 1088 18.02.10 11:34 Сейчас в теме
6. quick 572 18.02.10 08:02 Сейчас в теме
Полезная статья. Но в расчет памяти я что то тоже не врублюсь
7. anderson 201 18.02.10 09:09 Сейчас в теме
С какой целью делается DBCC SHRINKFILE (N'<ИмяБД>_log' , 0), если у вас recovery model = simple?
11. a-novoselov 1088 18.02.10 11:37 Сейчас в теме
(7) Были преценденты, что лог не урезался, решили добавить ручное "обрезание".
12. anderson 201 18.02.10 12:14 Сейчас в теме
(11) а зачем вообще урезание? чем меньше операций по выделению места под файлы данных/лога, тем меньше тормозов
14. a-novoselov 1088 18.02.10 12:26 Сейчас в теме
(12) Лог, без урезания, начинает сильно фрагментироваться (куча маленьких свободных/занятых кусков внутри файла), что негативно сказывается на работе.
(13) Да, это размер ОЗУ.
16. Saint 15 18.02.10 13:12 Сейчас в теме
(14) Формула интересная, только вот по ней у меня на сервере нужно установить значение -1 ГБ (т.е. отрицательное значение). :cry:
216. dexxxqqq 14.01.17 10:50 Сейчас в теме
(11)
Были преценденты, что лог не урезался, решили добавить ручное "обрезание".


прецедент, инцидент, претеНдент
234. goodron 03.05.18 22:52 Сейчас в теме
(11) насильное уменьшение файла журнала (ректально - DBCC SHRINKFILE), при любом значении recovery model - это глупость, расплата за нее - падение производительности. Я, кстати, DBA (Oracle, MSSQL) со стажем 10 лет, доку по SQL-серверам перечитал вдоль и поперек, и не только доку. Знаю техн. подробности того как движок БД работает с журналом при выполнении транзакции, как происходит создание бэкапа, как происходит восстановление базы из бэкапа и т.д. и т.п. все перечислять места не хватит. Правильно делать так - размер журнала задать такой чтобы увеличение размера файла журнала было крайне (!!!) редким событием. Если не делаете бэкап журнала (допускаю, что вы не знаете зачем это делать), то не ставьте recovery model = full , оно вам ничего не даст, юзайте recovery model = simple
238. zzz_natali 59 04.05.18 05:52 Сейчас в теме
(234)
Преамбула: (из анекдота) "Ты не выделывайся. Пальцем покажи!"
Фабула: Если нет возможности/сил/желания идти вашим 10тилетним путём, то какой приговор вы нам, простым смертным, даёте? Иными словами, если мы не участники Формулы-1 и не стоит вопрос о тюнинговании базы данных на молекулярном уровне, можете дать усредненный рецепт по открыживанию настроек с минимальным пояснением "почему так выставили зажигание"?
Послесловие: можно не делать бакап журнала и при этом знать, почему это не делаем!
239. goodron 04.05.18 12:53 Сейчас в теме
(238) 1) Не пытайтесь объять необъятное. 2) Научитесь использовать то, что есть в самой платформе 1С - индексирование, регистры, агрегаты - это все придумано для ускорения работы, владение этими средствами творит чудеса. 2) Правильный совет по настройке SQL-сервера зависит от величины нагрузки на сервер. Советы по настройке "на все случаи жизни" - это ложь. Самый важный показатель скорости работы 1С - время реакции. Если для бизнеса время реакции 1С приемлемо, то не имеет значения насколько железка нагружена/перегружена т.е. плевать на счетчики производительности, хотя они могут зашкаливать. Если время реакции 1С стало неприемлемо велико, только тогда надо искать ответ на вопрос "что мы делаем не так?"
8. Androsovych 18.02.10 11:16 Сейчас в теме
Время выполнения операций, заявленное в обзоре, сильно зависит от размера самой базы; переиндексация на базах больше сотни Гб может длиться дольше часа.
Дмитрий74Чел; +1 Ответить
9. a-novoselov 1088 18.02.10 11:30 Сейчас в теме
(8) Вот поэтому она и сделана на ночь с воскресения на понедельник с 01:00... Люди начнут работать все равно не раньше 08:00
249. mellug 19.04.19 11:33 Сейчас в теме
(9)Ох, "не факт". Если это, например, предприятие пищевой промышленности, которое работает без выходных, то очень трудно найти "окно" в работе пользователей.
250. Gilev.Vyacheslav 1836 22.04.19 14:45 Сейчас в теме
(249) кто хочет тот найдет, кто не хочет, тот придумает почему нельзя найти
некоторые регламенты нужно делать не зависимо от того "как кому то хочется работать"
вы что бэкапы к примеру не будете делать из-за того что 24х7 ? ну-ну

если у вас за ночь не успевает дефрагментация - значит вам надо перепроектировать структуру хранения данных, обрезать периодически базу, увеличивать скорость записи дисков и другие элементарные действия, а не ныть
13. Saint 15 18.02.10 12:16 Сейчас в теме
А что такое "Общее количество памяти сервера"? Это размер ОЗУ? Но цифра в примере непонятная.
15. glinmn 18.02.10 13:11 Сейчас в теме
Более грамотный подход к архивированию читаете в учебнике http://www.learn1c.ru/ebooks/book002.html
При подходе описанном автором 100% геморрой при восстановлении. и проблнмы с log'ом
А настройка сервера для новичков -хороша.

17. a-novoselov 1088 18.02.10 13:39 Сейчас в теме
(15) Во-первых ваша ссылка для 7ки (кстати тоже неоднократно посещалась при поиске информации), во вторых никакого геморроя с восстановлением - раз в 2 дня в тестовую базу восстанавливаем: 20 минут из полного файла, 15 минут из diff файла и готовая база примерно на час отстающая от рабочей. А вот при полной модели бэкапа (full а не simple), какраз имеете огромный геморой с восстановлением, т.к. если лог натянете на полный бэкап, то diff не встанет, если diff натянете, то лог не встанет... целостность базы нарушена полюбому. А в simple-модели бэкап лога не нужен.

(16) Если у вас rphost'ы максимум по 500 МБ отъедают памяти в процессе работы, то столько им и оставляйте. Сдесь взято по максимуму и у нас они действительно по столько иной раз занимают (правда не видал, когда все одновременно, но чем чорт не шутит...)
18. _Z1 38 18.02.10 13:50 Сейчас в теме
Помимо размера и log рабочей базы
необходимо также настраивать размер и log базы tempdb
Размер этой базы должен составлять от 25% до 40% самой большой базы данных
Лучший вариант размещения базы данных tempdb – на отдельном диске или дисковом массиве RAID0 (эта база данных не нуждается в восстановлении).
Приращение лога для temdb - обязательно не в процентах.

20. a-novoselov 1088 18.02.10 14:07 Сейчас в теме
(18) Насчет размещени tempdb вы абсолютно правы, а вот насчет размера - это довольно спорный вопрос... одно время, еще на старом сервере с небольшим объемом оперативы когда работали, у нас для базы в 6 ГБ tempdb разростался до 30 ГБ, и когда мы решили ограничить размер tempdb до 6 ГБ, то при достижении указанного размера сервер просто вставал, спасал только полный ребут. а без ограничения кое-как работал, правда тормозил неподетски. Вообще конечно продукты MS очень требовательны к ресурсам и очень часто первоопределяющий фактор - быстродействие сервера и наличие рэйда.
22. _Z1 38 18.02.10 14:22 Сейчас в теме
(20) насчет размера согласен.
Просто эта цифра 25-40% это как общая рекомендация.
Точное значение надо подбирать индивидуально для каждого сервера.
Если есть какая нибудь методика то с удовольствием с ней познакомился бы.
Тут как всегда компромис чем больше размер тем лучше. Но дисковое пространство сервера как правило очень дорогой ресурс и его надо как-то ограничивать.
Как выставлять приращение log для tempdb точно не знаю но желательно чтобы sql
делал это редко.
19. _Z1 38 18.02.10 14:06 Сейчас в теме
Про Максимальное количество потоков ставим 4096 ИХМО вы что-то перемудрили.
Ставя явно 4096 Вы резервируете для sql сервера пул рабочих процессов.
Если общее количество подключений к серверу меньше этого числа то каждому подключению выделяется свой рабочий поток иначе для коннекта назначается поток из пула.
Т.е если к примеру у Вас общее число подключений к серверу меньше 2000 то 4096
ставить неправильно так как каждый рабочий поток резервирует память ( об этом косвенно говорит и тот факт что для изменения параметра нужна перестартовать sql сервер).
Как действует значение 0 точно не скажу это надо отдельно разбираться взависимости от
(select @@version) версии sql (2000,2005,2008)
21. a-novoselov 1088 18.02.10 14:16 Сейчас в теме
(19) Возможно число можно указать и поменьше, но памяти процессы резервируют по минимуму и не факт, что стартуют при отсутствии подключений, а вот когда 2 подключения на один поток садятся, то у людей начинаются ториоза, ИМХО число лучше сразу задать как можно больше. Темболее ожидается увеличение количества пользователей до 400-500 человек, и каждый ведь может по несколько раз 1С запустить... + регламентные задания, роботы всякие и т.п.
24. _Z1 38 18.02.10 14:43 Сейчас в теме
(21) Если пользователь запустил несколько сессий то не факт что он в них одновременно работает. Т.е если у Вас 95% времени выполняется 2000 активных соеденений ( которые что-то считают ) то и выставлять надо 2000. Выставляя 4096 Вы отбираете у sql сервера память и он не сможет её(память) использовать под свои задачи.
Я исхожу из своих знаний на основе sql200,sql2005 Как резервируется память
под это дело в sql2008 я точно не знаю ( думаю что также)
Также надо учитывать и возможности сервера.Предположим что конкретный сервер не может одновременно обслуживать более 3000 потоков. В таком случае ставить 4096 тоже бессмысленно.
Про значение 0
В sql2000 это равно 255 рабочим потокам
В sql2005 ( и наверное sql2008 ) 0 означает что sql сервер сам по внутреним алгоритмам динамически меняет количество рабочих процессов. Для каких то нагрузок это может и хорошо для каких-то не очень хорошо.
При любых других (не 0 ) значениях я считаю что память под рабочие процессы выделяется статически при старте sql сервера.
Дмитрий74Чел; a-novoselov; +2 Ответить
25. a-novoselov 1088 18.02.10 15:08 Сейчас в теме
(24) Кстати SQL умеет распараллеливать запросы, т.е. 1 большой запрос может идти в несколько потоков.
26. _Z1 38 18.02.10 15:18 Сейчас в теме
(25) это тоже надо настраивать отдельным параметром
и как правило не рекомендуют ставить значение больше 5.
Фишка в том что при большом распаралеливании sql начинает слишком много времени тратить на само планирование и разбиение запроса вместо его выполнения
и общая производительность падает вместо ожидаемого роста.
27. a-novoselov 1088 18.02.10 15:25 Сейчас в теме
(26) Да, мы тоже сперва MaxParallelism в 5 выставили, но с 0 на замерах производительности большие запросы быстрее обрабатывались...
144. AlexO 127 26.07.13 13:57 Сейчас в теме
(26) _Z1,
и как правило не рекомендуют ставить значение больше 5.

Ничего подобного.
Опция Maximum Degree of Parallelism - работает с устройствами, а не параллелит обработку данных по нитям процессов.
И поэтому рекомендуют как раз исходить из количества рабочих процессоров и так выставлять Maximum Degree of Parallelism, чтобы некоторое их количество оставалось не занятыми для других дел, если SQL вдруг решит распараллелить какую-то задачу и нагрузить процессоры.
и общая производительность падает вместо ожидаемого роста.

Вот поэтому и падала производительность - все процессора занримались для некоей "параллельной" обработки.
(27)
Да, мы тоже сперва MaxParallelism в 5 выставили, но с 0 на замерах производительности большие запросы быстрее обрабатывались...

0 - это максимальный параллелизм. В тестовых "забегах" максимальное использование ресурсов процессоров для получения блоков данных параллельно эффект дает, а в реальной работе - нет. И все благодаря использованию 1С-сервера.
Почему - смотрите выше.
А вообще - для настройки и администрирования SQL администратору нужно читать по каждому параметру отдельно, что, зачем и почему. Или ставить все по умолчанию.
143. AlexO 127 26.07.13 13:28 Сейчас в теме
(25)
Кстати SQL умеет распараллеливать запросы

SQL-то умеет, только какой в этом прок, если этого не умеет 1С-сервер?
23. sound 529 18.02.10 14:43 Сейчас в теме
28. glinmn 18.02.10 16:49 Сейчас в теме
Хи-ха, Я работаю с базами от 40 -120Gb и я посмотрел бы с удовольствием на Ваши действия при падении Log файла или файла базы. Все это очень хорошо при небольших базах , но они имеют дурную привычку быстро расти и при этом начинаются другие проблемы
u_n_k_n_o_w_n; maxbd; McSim; Reaper_1C; +4 Ответить
32. a-novoselov 1088 19.02.10 06:50 Сейчас в теме
(28) Может поделитесь какие проблемы могут возникнуть?
Файл базы у нас падал, и мы его никак не смогли восстановить. Пришлось поднимать базу из бэкапа, перед этим скопировав базу с логом на тестовый сервер... Для аттача этой базы никакие шаманские действия не помогли. Скачал утилиту от MS, которая, типа, битые базы поднимает, она за неделю 50% файла обработала, при том на каждой второй операции сообщала об ошибке... Остановил процесс за ненадобностью.
29. Dimka74 18.02.10 20:45 Сейчас в теме
Все здорово, осталось только видео сделать и на Ютруб выложить. ;)
30. Gilev.Vyacheslav 18.02.10 21:49 Сейчас в теме
Boost priority - что дает?
Сервер 1С находится вместе с сиквелом?
почему минимум = 0?

наверно слишком пафосно "правильная настройка", скорее "настройка для случая Х"
еще многе зависит от операционки, разрядности и т.п.

вцелом труд в правильном направлении сделан, хотя некоторые выводы необоснованы
Дмитрий74Чел; gv.pretorian; WildFire; IgorTsapko; bashta.aleksey; +5 Ответить
31. a-novoselov 1088 19.02.10 06:48 Сейчас в теме
(30) Boost priority - увеличивает приоритет сервера.
Да, сейчас 1С и SQL вместе находятся. До недавнего времени на разных машинах висели, но настройки оптимальные были такими-же...При переносе SQL на сервер, где 1С вращается, производительность чуть-чуть возросла, хотя сервера были по мегабитному каналу связаны.
Насчет разрядности вы правы, на 32х все равно больше 4 ГБ оперативы не увидит операционка, и тут уже смысла нет память ограничивать, или 3-3,5 ГБ ограничение ставить, т.к. ее итак нет.
33. echo77 1094 19.02.10 09:06 Сейчас в теме
(31)
Насчет разрядности вы правы, на 32х все равно больше 4 ГБ оперативы не увидит операционка, и тут уже смысла нет память ограничивать, или 3-3,5 ГБ ограничение ставить, т.к. ее итак нет.

- в этом вы не правы. Серверная x32 ОС видит больше 4 Гб памяти, для того чтобы SQL-сервер мог адресоваться к памяти выше 4 Гб необходимо включить AWE (см. скриншот 1)
ojiojiowka; jan27; +2 Ответить
34. a-novoselov 1088 19.02.10 09:26 Сейчас в теме
(33) Там страницы по 4 ГБ получаются и обращение к памяти медленно работает. Смысла нет 32х разрядную ось ставить на сервер, где больше 4 ГБ памяти.
35. echo77 1094 19.02.10 09:53 Сейчас в теме
(34) никто не спорит, но и писать что операционка больше 4Гб не видит - тоже не стоит
36. Gilev.Vyacheslav 19.02.10 10:34 Сейчас в теме
(31)
Boost priority - увеличивает приоритет сервера.

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

На счет настройки памяти не соглашуюсь. На отдельно стоящем сиквеле и совмещенном настройки памяти разные.
Опять таки, зачем на отдельно стоящем скуле вообще приоритет повышать.

При переносе SQL на сервер, где 1С вращается, производительность чуть-чуть возросла, хотя сервера были по мегабитному каналу связаны.

Сколько сетевух на сервере? Может быть пора посмотреть 10гигабитку.
К тому же не всегда есть возможность и целесообразность совмещать.
А то Вас тут почитают и таких дров наломают.

Но это так, непринципиальная критика. Просто не хотелось бы рядом с дельными советами видеть "отсебятину". Т.е. лучше меньше советов, но максимально дающих эффект.
Дмитрий74Чел; zinal; ojiojiowka; jan27; vbazaroff; a-novoselov; +6 Ответить
37. glinmn 20.02.10 12:48 Сейчас в теме
Не хорошо писать письма без обратного адреса.
а по делу- по комментируйте(дело было в понедельник 15 февраля), что и как вы по Вашей схеме будете восстанавливать:
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
------------------------------

Не удается вывести требуемое диалоговое окно.

------------------------------
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:

Не удается вывести требуемое диалоговое окно. (SqlMgmt)

------------------------------

SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:712; фактический 0:0). Она произошла при прочитать страницы (1:712) в базе данных с идентификатором 4 по смещению 0x00000000590000 файла "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MSDBData.mdf". Дополнительные сведения см. в журнале ошибок SQL Server и журнале системных событий. Это серьезная ошибка, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку базы данных на согласованность (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами; дополнительные сведения см. в электронной документации по SQL Server. (Microsoft SQL Server, ошибка: 824)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=824&L­inkId=20476

------------------------------
КНОПКИ:

ОК

39. a-novoselov 1088 24.02.10 11:35 Сейчас в теме
(37) (38) Дак по-английски ведь написано, что железо сбоит. У нас одно время сервак тупо ребутался, как будьто кто-то резет жмет 2-3 раза в день, в логах винды писал только что "завершение работы было неожиданным..." спас только переезд на другой сервер и отказ от xen-подложки, т.е. без виртуальной машины ща работает. Другие виртуалки на той-же винде на том-же сервере нормально работают, не перезагружаются. Майкросовтовские продукты могут неожиданно себя вести при каких-то железных сбоях и вообще ничего не сообщать и в логи не писать. А по поводу лечения - базу с бэкапа на новом серваке поднять.
251. Xershi 712 11.06.19 22:17 Сейчас в теме
(37) обнаружили что на сервере стоят разные версии MSSQL.
Когда запустил версию на который БД 1С вертятся, все открылось.
38. glinmn 20.02.10 13:06 Сейчас в теме
В дополнение предыдущему:
- работающий магазин, остановка очень догая и начальство за спиной стоит
- Win 2003/32, sql 2005/32, 1c 8.1, база ~100Gb
- техника обычная для нашего бизнеса.

40. markers 240 25.02.10 07:28 Сейчас в теме
Любые статьи и комментарии по этой теме и по существу, весьма полезны! Подчерпнул пару полезностей из статьи и коментов! Всем спасибо! Больше бы таких статей и коментов!
41. idef 25.02.10 12:43 Сейчас в теме
Мда, расчет по ограничению памяти сервера действительно спорный получился.
А какие есть мнения по поводу параметра "Max Degree of Parallelism" :?:
Это напрямую должно влиять на производительность.
42. glinmn1 26.02.10 11:32 Сейчас в теме
Дык по английски мы читать не умеем!!!
А восстановление заняло 5 минут. Всего лишь упал Log у Master.
Какой переезд на другой сервер, какой ребут, я же писал магазин, работающий 24 часа

А вообще по жизни, был хороший ресурс, но теперь для поднятия рейтинга постят ВСЕ. Хорошо если читает грамотной, он разберется ,что к чему, а новичек, прочтет сделает по данной схеме получит геморой в лучшем случае или увольнение после очередного падения сервера
Читайте и думайте.

43. a-novoselov 1088 27.02.10 07:17 Сейчас в теме
(42) Конечно надо в первую очередь логи SQL посмотреть, а не одно сообщение хз откуда.
Ресурс стараемся поднимать, статья впервую очередь была написана как хорошая тема для обсуждения, для того, чтобы народ делился опытом. Если можете какие-то тезисы опровергнуть, то говорите. Если можете написать лучше - пожалуйста. Здесь я ни одной подобной статьи не встречал, вот и решил написать.
44. a-novoselov 1088 27.02.10 07:20 Сейчас в теме
(42) Что в настройках вам не нравится? Из-за чего при таких настройках может упасть сервер? При чем тут падение лога у мастера, если тут про настройки системных таблиц вообще ничего не говорится?
45. qSerik 115 27.02.10 09:58 Сейчас в теме
Почти к такому же алгоритму построения SQL пришел сам еще задолго до данной статьи, по алгоритму все хорошо, еще добавил ежечастно очистку процедурного кеша, а остальное почти по алгоритму автора, по этому однозначно + и статья имеет достойное место быть вне зависимости от некоторых комментов! Побольше бы таких заний писали, а не негативной критики!
46. CheBurator 3399 02.03.10 00:16 Сейчас в теме
(45)
еще добавил ежечастно очистку процедурного кеша,

- что это такое и как делается?
47. qSerik 115 02.03.10 09:30 Сейчас в теме
(46) В агенте выставляется команда для базы
DBCC FREEPROCCACHE
Удобно раз в час, описание можно найти на официальном сайте, выполнять команду рекомендует 1С.
Astartes; a-novoselov; +2 Ответить
48. Gilev.Vyacheslav 02.03.10 16:45 Сейчас в теме
(47) пока ссылку на офицальном сайте, что это рекомендуется все делать
ты хотя бы понимаешь, что удаляешь скомпилированные запросы этим ?
rboy; ojiojiowka; a-novoselov; +3 Ответить
49. a-novoselov 1088 02.03.10 17:11 Сейчас в теме
(48) Во время сбора статистики кэш автоматически чиститься? Для проверки надо включить, потестить как оно отрабатывать будет.
52. Gilev.Vyacheslav 06.03.10 15:12 Сейчас в теме
(49) причем тут статистика и кэш?
надо просто понимать рекомендации, а не только тупо их выполнять
если объем данных изменяется не сильно, то очистка процедурного кэша скорее зло, так как скулю придется компилировать запрос заново

именно поэтому у админов есть термины типа "прогретый кэш", потому что все необходимые данные подняты в кэш и скомпилированы запросы
т.е. при первом запуске когда кэши "холодные" запросы исполняются дольше

резюмирую: процедурный кэш надо чистить не ради чистки, а если вы видите что система очень сильно загруженно и очитска кэша ускоряет общую производительность (т.е. когда заново скомплированный запрос работает с новыми условиями типа статистики, объемов строк, индексами и т.п.)
53. a-novoselov 1088 07.03.10 10:17 Сейчас в теме
(52) Включил очистку раз в сутки система начала тормозить по утрам. Полезная фича получается, если делать ее раз в неделю (после переиндексации) - скомпилированные запросы ссылаются на старые индексы и очистка кеша ускоряет работу.
231. KAV2 09.01.18 19:30 Сейчас в теме
(52) Вообще хотелось бы процедурный кэш не очищать, а "скорректировать" с учетом обновленной статистики, возможно ли это не подскажете? Иными словами хочется чтобы кэш оставался "прогретым" но с учетом данных обновленной статистики.
50. boogie 479 05.03.10 18:24 Сейчас в теме
Можно ламмерский коммент?
36 гигов оперативки на сервере это круутааа :) У нас 2 гига и Win2003. Так и живём :{}
dragonCat; +1 Ответить
51. Душелов 05.03.10 20:18 Сейчас в теме
(50) Тут коммерческому предприятию гордиться нечем. У большинства ноутбуки уже мощнее будут.
54. lion11 143 05.05.10 13:24 Сейчас в теме
А разве Полная переиндексация не включает в себя Дефрагментацию индексов?
55. Gilev.Vyacheslav 05.05.10 13:29 Сейчас в теме
(54) я не знаю что значит Полная,
перестройка индексов - это удаление индекса и создание его заново.
После этой процедуры дефрагментировать дополнительно нечего, уже все упорядочено в момент создания.
56. lion11 143 05.05.10 15:09 Сейчас в теме
(55) Я так понимаю, что под Полной автор имел ввиду "Rebuild Index", а дефрагментация - это "Reorganize Index". Вот меня и смутила фраза "...естественно после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики." - это уже не требуется.
57. Gilev.Vyacheslav 05.05.10 17:29 Сейчас в теме
(56) вот поэтому я думаю, что статья называется "как правильно" слегка неадекватно, скорее опыт удачной настройки :)
user931544; goodron; +2 Ответить
60. tidex-s1 05.07.10 17:39 Сейчас в теме
(57),(59)
Молодец! и даже
Критерий оптимальности указал!!!:
1. MS SQL для круглосуточной работы
2. более, чем 200 пользователей одновременно
Все ясно и понятно если MS SQL для круглосуточной работы И более, чем 200 пользователей одновременно ----> пользуйся этой статьей.
236. goodron 03.05.18 23:28 Сейчас в теме
(57) "правильная" настройка сервера зависит от нагрузки и многих обстоятельств. Автору статьи следовало дать название "Как я поковырялся в параметрах своего сервера MSSQL и меня за это не казнили". Кстати, у вендора на сайте есть специальные документы по анализу производительности сервера "White papers" про "Performance Tuning"
58. lion11 143 06.05.10 12:22 Сейчас в теме
Тем не менее - статья очень полезная! Плюсы заслуженные!
59. Gilev.Vyacheslav 06.05.10 14:32 Сейчас в теме
(58) полезность штука субъективная,
вот http://kb.1c.ru/articleView.jsp?id=13 куда правильней называется "регламентные операции", а не как правильно делать регламентные операции :)
61. igyo 104 02.09.10 04:39 Сейчас в теме
Эта инструкция на 200 и больше пользователей. А что изменить в этой инструкции на 50 пользователей
62. a-novoselov 1088 02.09.10 21:42 Сейчас в теме
(61) Это инструкция по оптимальной настройке MS SQL для работы с 1С при любом количестве пользователей. Просто если работают 10 пользователей и вводят по 2 документа в день, пойдет просто файловый вариант или скуль с настройками по умолчанию.
64. Gilev.Vyacheslav 03.09.10 10:10 Сейчас в теме
(61) я бы занизил количество соединений в параметрах как минимум
63. Gilev.Vyacheslav 03.09.10 10:08 Сейчас в теме
(63) на 1000 пользователей с такими настройками скуль просядет, тем более что на таких масштабах настройки базы также начинают играть ключевую роль!
65. a-novoselov 1088 03.09.10 11:41 Сейчас в теме
(63) А не могли бы подсказать, какие настройки необходимо поменять на 1000 пользователей? Из-за чего скуль просядет? Поможет ли скуль при работе с 1С "ALTER DATABASE Database SET ALLOW_SNAPSHOT_ISOLATION ON;" для уменьшения количества блокировок?
66. Gilev.Vyacheslav 03.09.10 12:26 Сейчас в теме
(65) нет, не хочу
то что я считал нужным расказать публично, я выкладываю на свой сайт gilev.ru
все что считаю конкурентным преимущество, я "продаю" на курсах или ввиде консалтинговых услуг

но если кто сомневается, что скуль просядет на 1000 юзерах, попробуйте сами...
ermakovaanna; Артано; +2 2 Ответить
67. a-novoselov 1088 05.09.10 14:03 Сейчас в теме
(66) Интересно, что вы преподаете такое на курсах, если про вас говорят пацаны из Олми, что вы код ногами пишите?
68. Gilev.Vyacheslav 05.09.10 15:08 Сейчас в теме
(67) Напишите на почту gilev.ru собачка gmail.com, что КОНКРЕТНО Вас интересует. Я попробую ответить.
Надеюсь, не путаете меня с однофамильцем http://www.spec8.ru/
69. a-novoselov 1088 11.09.10 02:35 Сейчас в теме
(68) Да, похоже действительно однофамилец.
70. 1Це 23.11.10 11:22 Сейчас в теме
(66) это конечно может быть и верно, но уже не первый раз замечаю, что вы влазите в ветку, начинаете говорить что все неправильно, и что вы знаете как сделать лучше в разы. При этом по делу - ноль, одни туманные фразы типа "скуль просядет", а почему просядет - это уже за деньги. Если это ваш способ рекламы, то он, мягко говоря, гниловат. Если вы решаете написать в ветку, будьте готовы подтвердить вашу критику дельными советами, а если ваша цель - завлечь людей на свой консалтинг, то завлекайте на своем сайте, нефиг тут воду мутить.
Drivingblind; Boulala; Азверин; AlenaR; Strannik99; dragonCat; shagua; purgin; jan27; Tavalik; Fr1eNd_Tver; kross11; Lapitskiy; baracuda; u_n_k_n_o_w_n; paybaseme; ram3; jake_qwert; igor.ofitserov; jack_kkm; nSpirit2; rhtr; Jimkaaa; Di-dog; Caligare; igoSolo; RodinMax; yuzer_666; aziat71; Roman100; xzorkiix; mataranga; HiGHT; mixsture; rasswet; dunaev.anton; gmkushkunov; DMSDeveloper; +38 Ответить
181. nSpirit2 04.08.15 10:21 Сейчас в теме
(66) gilv, А как определить что скуль просел от тысячи пользователей? А то что то абдекс говорит что все нормально с 1с что я делаю не так ? :D
71. dmv78 198 23.02.11 18:40 Сейчас в теме
то что надо как раз! Спасибо автору!
72. Cat-MF 24.08.11 11:38 Сейчас в теме
В настройках базы на скрине выключена корреляция дат. ИМХО, надо бы включить.
73. Jogeedae 38 12.09.11 09:57 Сейчас в теме
про Максимальное количество потоков по-умолчанию ссылка:
MSSQL max worker threads на msdn

Вроде неплохие базовые настройки, плохо конечно, что без описания почему-куда, тут gilv верно отметил.
74. westinka 22.11.11 14:33 Сейчас в теме
спасибо автору, т.к. настройка скл сервера это явно опыт, когда ты поняла косяки и их правишь. а если не знаешь, да в основном в статьях используют типовые, то конечно ошибаешься
75. zzz_natali 59 09.12.11 08:52 Сейчас в теме
Почему в настройках базы Auto Shrink стоит False, а не True?
Я обычно взвожу этот флаг.
76. a-novoselov 1088 09.12.11 10:35 Сейчас в теме
(75) Shrink базы данных довольно затратная процедура, при круглосуточной работе пользователей тормозит базу и мешает людям работать. Если БД постоянно растет, смысла в этой процедуре вообще нет, т.к. SQL использует сперва уже выделенное под БД освободившееся дисковое пространство. Да и выделение нового пространства после Shrink'а затратная процедура... Вобщем, при необходимости (свертка или чистка неиспользуемых регистров) сжать файлы можно и вручную.
Serg0FFan; +1 Ответить
77. Motor24 12.12.11 17:18 Сейчас в теме
Спасибо за статью, думал, что настроил свой вариант "скуль+восьмерка" нормально - ан нет, пойду вносить коррективы.
78. Jackman 19.12.11 20:56 Сейчас в теме
Спасибо. Лишний раз, для спокойствия, перепроверил параметры скуля.

Кстати, встречалась информация, что связка WinServer2008+MSSQL2008R2+1C8.1 (да и 8.2) дают значительно большие тормоза, чем более ранние версии скуля и винды. Даже тесты делались, дважды тестировали на одном железе, но с разным софтом:

1
Win2003 (32bit) + SQL 2005
Первый тестовый запуск 3:30
Второй тестовый запуск 2:30

2
Win2003 (32bit) + SQL 2005 + оптимизации
Первый тестовый запуск 3:30
Второй тестовый запуск 2:30

3
Win2008R2 + SQL 2008 + 1C x64
Первый тестовый запуск 5:30
Второй тестовый запуск 4:30

4
Win2008R2 + SQL 2008 + 1C x86
Первый тестовый запуск 5:30
Второй тестовый запуск 4:30

5
Win2008R2 + SQL 2005 + 1C x64
Первый тестовый запуск 5:20
Второй тестовый запуск 4:15

6
Win2008R2 + SQL 2005 + 1C x86
Первый тестовый запуск 5:20
Второй тестовый запуск 4:15

7
Win2003 (32bit) + SQL 2005
Первый тестовый запуск 3:15
Второй тестовый запуск 2:20
solarstrike; +1 Ответить
80. Serg0FFan 29.12.11 12:22 Сейчас в теме
(78) Jackman, интересно, а
Win2003R2(х64) + SQL 2005 + 1C x64
какие показатели выдаст?
79. wowkai 4 29.12.11 12:19 Сейчас в теме
спасибо за статтю. а как часто нужно делать дефрагментацию дисков с БД и логом? или нужно вобще?
82. a-novoselov 1088 29.12.11 13:37 Сейчас в теме
(79) Для файловой системы NTFS дефрагментация в принципе не обязательна. Да и на FAT она дает прирост производительности когда часто записывается / удаляется / перезаписывается большое количество мелких файлов. А база данных храниться в двух больших файлах, дефрагментация ничем не поможет.

(78) (80) Здесь же на инфостарте встречал публикацию (правда найти сейчас не могу, может быть так-же в комментариях было где-то), в которой говорилось о том, что Win 2008x64 + SQL 2008x64 дают большую производительность, чем 2003. Насколько я знаю в 2008 винде очень сильно переписана процедура работы с файловой системой, ускоряющая работу с файлами если не на порядок, то в разы точно. И результаты таких тестов являются частным случаем для конкретного оборудования. Если на сервере 2 ГБ памяти, то и дибилу понятно что поставив туда 2008-е вин и скуль, вы снизите производительность в разы, по сравнению с 2003-ми.
Вобщем желательно самому на своем оборудовании протестировать и решить с чем работать комфортнее. Да и поддержка M$, обновления и т.п. для 2008-х покачественнее, ИМХО.
83. zzz_natali 59 29.12.11 13:41 Сейчас в теме
a-novoselov пишет:(79) Для файловой системы NTFS дефрагментация в принципе не обязательна. Да и на FAT она дает прирост производительности когда часто записывается / удаляется / перезаписывается большое количество мелких файлов.

Батенька, Вы бы хоть ИМХО добавляли, чтобы безапелляционно делать такие утверждения. Не нужен дефраг на современных винтах с размером больше терабайта? ну-ну... :)
84. a-novoselov 1088 29.12.11 13:58 Сейчас в теме
(83) Какая разница какого размера диски? Это же не файловый сервер, а сервер БД.

Вот интересная статья про NTFS:


В самом начале утверждалось, что NTFS не подвержена фрагментации файлов. Это оказалось не совсем так, и утверждение сменили - NTFS препятствует фрагментации. Оказалось, что и это не совсем так. То есть она, конечно, препятствует, но толк от этого близок к нулю... Сейчас уже понятно, что NTFS - система, которая как никакая другая предрасположена к фрагментации, что бы не утверждалось официально. Единственное что - логически она не очень от этого страдает. Все внутренние структуры построены таким образом, что фрагментация не мешает быстро находить фрагменты данных. Но от физического последствия фрагментации - лишних движений головок - она, конечно, не спасает. И поэтому - вперед и с песней...
--------------------------------------------------------------------------------
NTFS - очень экономная система. Размер кластеров в ней разумно минимален - обычно это 4 кб (на стандартных сейчас дисках в десяток-другой гигабайт). Как известно, система сильнее всего фрагментирует файлы когда свободное место кончается, когда приходится использовать мелкие дырки, оставшиеся от других файлов. Тут возникает первое свойство NTFS, которое прямо способствует серьезной фрагментации.
Диск NTFS поделен на две зоны. В начала диска идет MFT зона - зона, куда растет MFT, Master File Table. Зона занимает минимум 12% диска, и запись данных в эту зону невозможна. Это сделано для того, чтобы не фрагментировался хотя бы MFT. Но когда весь остальной диск заполняется - зона сокращается ровно в два раза icon_smile.gif. И так далее. Таким образом мы имеем не один заход окончания диска, а несколько. В результате если NTFS работает при диске, заполненном на около 90% - фрагментация растет как бешенная.

• Попутное следствие - диск, заполненный более чем на 88%, дефрагментировать почти невозможно - даже API дефрагментации не может перемещать данные в MFT зону. Может оказаться так, что у нас не будет свободного места для маневра.

Далее. NTFS работает себе и работает, и всё таки фрагментируется. Этому способствует странный алгоритм нахождения свободного места - второе серьезное упущение. Если файл пишется большими кусками - всё нормально. Но если файл медленно растет - алгоритм такой: берется какой-то определенный объем диска и заполняется файлом до упора. Причем по очень интересному алгоритму: сначала заполняются большие дырки, потом маленькие. Т.е. типичное распределение фрагментов файла по размеру на фрагментированной NTFS выглядит так (размеры фрагментов):
16 - 16 - 16 - 16 - 16 - [скачек назад] - 15 - 15 - 15 - [назад] - 14 - 14 - 14 .... 1 - 1 - 1 -1 - 1...
Так процесс идет до самых мелких дырок в 1 кластер, несмотря на то, что на диске наверняка есть и гораздо более большие куски свободного места.

Может быть я забыл написать что-то еще... Смысл в том, что никак нельзя сказать, что NTFS препятствует фрагментации файлов. Наоборот, она с радостью их фрагментирует. Фрагментация NTFS через пол года работы доведет до искреннего удивления любого человека, знакомого с работой файловой системой. Поэтому приходится запускать дефрагментатор. Но на этом все наши проблемы не заканчиваются, а, увы, только начинаются...
--------------------------------------------------------------------------------
В NT существует стандартное API дефрагментации. Обладающее интересным ограничением для перемещения блоков файлов: за один раз можно перемещать не менее 16 кластеров (!), причем начинаться эти кластеры должны с позиции, кратной 16 кластерам в файле. В общем, операция осуществляется исключительно по 16 кластеров. Следствия:

• В дырку свободного места менее 16 кластеров нельзя ничего переместить (кроме сжатых файлов, но это тонкости).

• Файл, будучи перемещенный в друге место, оставляет после себя (на новом месте) "временно занятое место", дополняющее его по размеру до кратности 16 кластерам.

• При попытке как-то неправильно ("не кратно 16") переместить файл результат часто непредсказуем. Что-то округляется, что-то просто не перемещается.. Тем не менее, всё место действия щедро рассыпается "временно занятым местом". Наверное о нас заботятся, чтобы мы отстали от этого места - чтобы алгоритм дефрагментации не клинило. icon_smile.gif

• "Временно занятое место" освобождается через некоторое время, обычно где-то пол минуты. Гы.

Тем не менее, логично было бы использовать это API. Его и используют. Поэтому процесс стандартной дефрагментации, с поправками на ограниченность API, идет следующими фазами, не обязательно в этом порядке:

• Вынимание файлов из MFT зоны. Не специально - просто обратно туда их положить не представляется возможным. Безобидная фаза, и даже в чем то полезная.

• Дефрагментация файлов. Безусловно полезный процесс, несколько правда осложняемый ограничениями кратности перемещений - файлы часто приходится перекладывать сильнее, чем это было бы логично сделать по уму.

• Дефрагментация MFT, виртуалки (pagefile.sys) и каталогов. Возможна через API только в Windows2000, иначе - при перезагрузке, отдельным процессом, как в Diskeeper-е.

• Складывание файлов ближе к началу - так называемая дефрагментация свободного места. Вот это - воистину страшный процесс...

Допустим, мы хотим положить файлы подряд в начало диска. Кладем один файл. Он оставляет хвост занятости дополнения до кратности 16. Кладем следующий - после хвоста, естественно. Через некоторое время, по освобождению хвоста, имеем дырку <16 кластеров размером. Которую потом невозможно заполнить через API дефрагментации! В результате, до оптимизации картина свободного места выглядела так: много дырок примерно одинакового размера. После оптимизации - одна дыра в конце диска, и много маленьких ><16 кластеров дырок в заполненном файлами участке. Какие места в первую очередь заполняются? Правильно, находящиеся ближе к началу диска мелкие дырки ><16 кластеров... Любой файл, плавно созданный на прооптимизированном диске, будет состоять из дикого числа фрагментов. Да, диск потом можно оптимизировать снова. А потом еще раз.. и еще.. и так - желательно каждую неделю. Бред? Реальность.>

Таким образом, имеется два примерно равнозначных варианта. Первый - часто оптимизировать диск таким дефрагментатором, смиряясь при этом с дикой фрагментацией заново созданных файлов. Второй вариант - вообще ничего не трогать, и смириться с равномерной, но гораздо более слабой фрагментацией всех файлов на диске.

Пока есть один дефрагментатор, который игнорирует API дефрагментации и работает как-то более напрямую - Norton Speeddisk 5.0 для NT. Когда его пытаются сравнить со всеми остальными - Diskeeper, O&O defrag, т.д. - не упоминают этого главного, самого принципиального, отличия. Просто потому, что эта проблема тщательно скрывается, по крайней мере уж точно не афишируется на каждом шагу. Speeddisk - единственная на сегодняшний день программа, которая может оптимизировать диск полностью, не создавая маленьких незаполненных фрагментов свободного места. Стоит добавить также, что стандартное API не может дефрагментировать тома NTFS с кластером более 4 Кбайт - а SpeedDisk, по прежнему, может.

К сожалению, в Windows 2000 засунули дефрагментатор, который работает через API, и соответственно плодит дырки <16 кластеров. Так что как только появится (если уже не появился) - так сразу надо качать Speeddisk для W2k. Как некоторый вывод из всего этого - все остальные дефрагментаторы при одноразовом применении просто >вредны. Если вы запускали его хоть раз - нужно запускать его потом хотя бы раз в месяц, чтобы избавится от фрагментации новоприбывающих файлов. В этом основная суть сложности дефрагментации NTFS теми средствами, которые сложились исторически.

Показать



Общий вывод: если начнете делать дефрагментацию, то ее необходимо будет делать постоянно, иначе начнутся тормоза.
ИМХО вывод: Нахрена она нужна если на быстродействии базы это никак не скажется, т.к. база лежит (у грамотных админов) на отдельном от системы и TEMP'а диске одним(двумя) файлами. Это как иконка в автомобиле - если с ней вы чувствуете себя спокойнее, то весить надо обязательно, т.к. уверенность в себе водителя за рулем помогает безаварийному вождению.
EugenVitla; vkr; +2 Ответить
81. profych1 29.12.11 12:26 Сейчас в теме
85. zzz_natali 59 29.12.11 14:05 Сейчас в теме
Какая разница какого размера диски? Это же не файловый сервер, а сервер БД.

ага, посмотрю как головки будут хрустеть, когда идет полнотекстовый поиск на базёнке размером под сто гектар (волею судеб распухшей вперемешку с другим хламом на разделе)...
86. a-novoselov 1088 29.12.11 14:27 Сейчас в теме
(85) Ставь RAID и хрусти веселей ;) дефрагментация тебе не поможет, т.к. ФАЙЛ БД ОДИН, и головки будут летать +- 100ГБ пространства что при фрагментированном файле, что при файле одним куском. И не храни хлам рядом с базой. С хламом после дефрагментации все равно дырки останутся из-за особенностей файловой системы.
90. AlexO 127 02.01.12 04:38 Сейчас в теме
(86) вам правильно указали, что дефрагментация нужна:
1) если база стоит с ОС
2) если база не одна, а SQL обслуживает еще много чего.
Когда есть отдельный РЭЙД только под базу, есть возможность этот рейд "защищать" от вопросов начальства ("а че это у вас пустой рэйд токо с одной базой!?") - замечательно.
Но именно это нужно указать в примечаниях к "дефрагментация не нужна!"
Дефрагментация - это накладные расходы использовыания файловых систем виндовс, в линуксах и прочих никсах создатели ФС заранее постарались свести к минимуму как саму фрагментацию, так и её последствия.
Т.е. опять же, кто сидит на 1С и Линуксе (Posgre) - тоже могут об дефрагментации не думать.
Оставьте свое сообщение

См. также

Мониторинг высоконагруженной системы 37

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование данных 1С

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    3377    Repich    4       

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux 72

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Zabbix

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    6848    Sloth    11       

Анализ производительности APDEX 65

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    2596    93    YPermitin    7       

Неочевидные проблемы производительности: важность системного подхода при анализе 50

Статья Программист Нет файла v8 Россия MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Часто программисты и 1С-ники сталкиваются с совершенно необъяснимыми на первый взгляд проблемами. Но это потому, что их внимание направлено только на один сегмент системы, а не на всю систему полностью. О том, почему нужно стараться смотреть на ситуацию комплексно, рассказал специалист по производительности компании SOFTPOINT Александр Денисов.

19.07.2019    4110    Филин    12       

Ловля блокировок на связке "Microsoft SQL server - 1С" 38

Статья Системный администратор Программист Нет файла v8 v8::blocking MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Материал относится к базам данных на связке «1С - MS SQL Server». Один из способов отлова блокировок в бд 1С . Переход к управляемым блокировкам через режим "Автоматический и управляемый".

16.07.2019    3478    fhqhelp    0       

Анти-оптимизация: как мы ускорили запрос в 4 раза, сделав его неоптимальным 57

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Решение задач на 1С:Специалист Разработка

В этой статье приведен пример неочевидной "оптимизации" запроса, которая противоречит всем правилам, описанным в книгах для подготовки к сертификации "1С:Эксперт по технологическим вопросам", а также преподаваемым на курсах подготовки экспертов.

02.07.2019    5952    igordynets    119       

Ускорение чтения правил обмена в УПП 1.3 в 20 раз! 66

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Способ оптимизации чтения правил обмена конвертации данных. Может понадобиться при большом размере правил и высокой периодичности обмена.

27.06.2019    4089    YPermitin    16       

Хотите снизить нагрузку на процессор сервера в 2 раза? 21

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

В статье рассмотрено влияние частого запуска регламентных заданий на процессор сервера 1С.

27.06.2019    4052    Дмитрий74Чел    6       

Непридуманные истории по оптимизации. История 1 78

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Первая статья из планируемого цикла об оптимизации приложений на базе 1С. Без теории. Одна практика.

13.06.2019    7085    Repich    117       

Оптимизация: неэффективные запросы 6

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Разработка

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

13.06.2019    2593    slayer-ekb    10       

За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С 90

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Производительность и оптимизация (HighLoad)

Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.

28.05.2019    7064    ivanov660    5       

Не думать о секундах свысока... 55

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Несколько примеров оптимизации типовой конфигурации УТ11. Описанные приемы подходят для многих других конфигураций.

21.05.2019    4324    vasilev2015    21       

Альтернативная стратегия управления блокировками 45

Статья Программист Архив с данными v8 v8::blocking 1cv8.cf Россия MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Данная публикация освещает одну из альтернативных стратегий блокирования данных на уровне MS SQL Server, которая недоступна средствами 1С, но может быть весьма полезной. Разбирается практический пример.

20.05.2019    3716    zhichkin    15       

Как работают управляемые блокировки 120

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

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

29.04.2019    13032    comol    198       

Странное потребление места на диске С 33

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Решение проблемы постоянного роста папки %AppData%/Local/Temp.

26.04.2019    10568    kuzyara    12       

Включение встроенного в платформу механизма "Копии базы данных" и использование "Дата Акселератора". Новый стандартный механизм использования баз OLAP в 1С 49

Статья Системный администратор Программист Нет файла v8 Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

С версии 1С 8.3.14 в платформе появился новый функционал «Копии базы данных». В данной публикации я хочу рассказать, как включить использование данного механизма в платформе 1с и как его использовать для получения отчетов с копии базы данных, которая может быть вынесена на внешний сервер относительно текущей базы данных, а также как использовать систему «Дата акселератор», в которой база данных целиком размещена в оперативной памяти рабочего сервера кластера серверов «1С:Предприятия».

25.04.2019    8122    Elf1k    26       

5 простых шагов и 15 минут на разворачивание инструмента мониторинга проблем производительности базы 1С 201

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

В этой статье мы разберем механизм использования конфигурации "Анализ технологического журнала" на практике, и всего через 15 минут работы вы получите функциональный, удобный инструмент мониторинга проблем производительности базы 1С.

18.04.2019    17747    ivanov660    40       

Как разбить базу на файлы и не сойти с ума 108

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Разбиение базы данных 1C на файлы и последующее сопровождение. Нюансы, грабли и прочее.

06.04.2019    8580    YPermitin    29       

Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз 124

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

В связи с санкциями и другими событиями сейчас все более и более актуальна тема перевода ПО компаний на отечественное и свободное программное обеспечение. Одной из самых востребанных СУБД на рынке на данный момент является PostgreSQL - надежная, высокопроизводительная и хорошо масштабируемая СУБД, которая является прямым конкуретном таким крупным компаниям с их топовыми продуктами, как Oracle, IBM и Microsoft. Однако каждый, кто переходит на PostgreSQL, сталкивается с трудностями, прежде всего с настройкой и производительностью. Не обошли проблемы с производительностью "слоника" и меня. Предлагаю вашему вниманию перевод статьи "How a single PostgreSQL config change improved slow query performance by 50x" автора Pavan Patibandla, которая мне помогла улучшить производительность PostgreSQL.

18.03.2019    9738    w.r.    23       

Простое программное решение проблем с блокировками SQL 17

Статья Системный администратор Программист Нет файла v8 v8::blocking 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Описание одного из способов программного решения проблемы блокировок при проведении документов в клиент-серверной 1С.

06.03.2019    5803    dmitrydemenew    38       

Производительность сервера 1С и фоновые задания 63

Статья Системный администратор Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

В падении производительности сервера 1С зачастую виноваты не регламентные / фоновые задания, они выполняют полезную работу. Но задания нельзя оставлять «наедине» с базой.

05.02.2019    10666    user715208    38       

Новый режим реструктуризации (обновление базы данных на сервере в режиме v2) 168

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Данная статья скорее является заметкой и отчетом об успешном использовании нового механизма реструктуризации баз данных 1С. Актуально для больших баз данных.

31.10.2018    18249    Dach    46       

Нетривиальные подходы в решении всем известных проблем: ускорение «больших» документов в 1С и ускорение поиска по подстроке. Как добиться эффекта в разы? 62

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Часто у пользователей 1С поиск информации по большим спискам данных по подстроке занимает продолжительное время. Павел Баркетов рассматривает причины торможения запросов с поиском по подстроке и описывает возможности и подходы к их оптимизации и ускорению. Также в статье разобраны причины длительного проведения «больших» документов (более 10 000 строк) и даны рекомендации по ускорению этих операций.

30.08.2018    10742    gallam99    31       

Кейс: как мы разрабатывали систему автоматизации анализа ошибок, связанных со скоростью работы 1С 42

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Бурмистров Андрей рассказывает о создании инструмента по автоматизации анализа неоптимальных запросов в коде 1С. Он поднимает вопрос о предпосылках создания этого инструмента, рассказывает о возникших форс-мажорных ситуациях, с которыми столкнулась команда в процессе разработки, и о том, как они с ними справлялись.

27.08.2018    7428    Andreynikus    20       

3000 пользователей на трехъядерном Athlon – сверхтонкий веб-клиент для 1С 97

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Юрий Лазаренко поделится опытом ускорения 1С нестандартными методами, в том числе с помощью http-сервисов. Он расскажет, как с помощью сверхтонкого клиента для 1С и интеграции с сайтом удалось добиться ускорения 1С на порядок. Также в статье приведена статистика по отчету о нагрузочном тестировании сверхтонкого клиента для 1С:ITIL.

16.08.2018    11251    TitanLuchs    28       

Когда условие в срезе последних даже вредит 20

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Спойлер: оптимизатор MSSQL видит внешние, по отношению к срезу, условия, и строит план с их учетом.

05.08.2018    7681    nicxxx    105       

Оптимизация без оптимизации: как мы ускорили 1С в 10 раз без трудоемкой оптимизации запросов и алгоритмов. Практический опыт 80

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Можно ли ускорить 1С, не оптимизируя запросы, не разбивая транзакции и не наращивая оборудование? В статье Аверьянова Алексея рассмотрены три практических кейса повышения производительности системы без трудоемкой оптимизации: отложенное резервирование «в один поток», отложенное создание и проведение реализаций.

26.07.2018    13065    avryanovalexey    100       

Альтернативные технологии нагрузочного тестирования серверной части кода прикладных решений на платформе 1С 56

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Евгений Филиппов знакомит с альтернативными технологиями нагрузочного тестирования серверной части кода прикладных решений на платформе 1С. Он рассказывает об узких местах традиционной технологии нагрузочного тестирования и методах их обхода путем переноса работы с клиентских соединений на фоновые задания и изменения способа управления сеансами. Также автор приводит примеры с реальных проектов, подтверждающие жизнеспособность предложенных технологий.

12.07.2018    8136    jf2000    10       

Архитектура ИТ-системы на базе 1С в крупной организации. Часть 2. Чудес не бывает 81

Статья Системный администратор Нет файла v8 УТ11 Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Развернуто отвечаю, как мы боремся с зависаниями системы и вообще решаем проблемы. С примерами, но без слайдов.

04.07.2018    12129    Repich    74       

Архитектура ИТ-системы на базе 1С в крупной организации 101

Статья Системный администратор Нет файла v8 УТ11 Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

В данной статье я хотел бы очень крупными мазками обрисовать архитектуру ИТ системы на базе 1С в крупных (более 1 тысячи пользователей) организациях. Она не несет какой либо образовательной цели, это просто попытка показать – «а как у нас».

02.07.2018    14644    Repich    112       

Взгляд на ошибки и платформу через призму HI-Load 53

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Поговорим об ошибках в целом и их влиянии на Hi-Load системы в частности. Может ли тут помочь платформа 1С? (да и должна ли в принципе?) Немного про сам Hi-Load на примере крупной БД. PS Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2017 COMMUNITY.

18.06.2018    9907    Sergey.Noskov    27       

Простые регулярные выражения 59

Статья Программист Архив с данными v8 Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Шпаргалка к экзамену "Эксперт по технологическим вопросам".

30.04.2018    11616    3    vasilev2015    30       

Неоптимальная работа запроса 128

Статья Программист Нет файла v8::Запросы Бесплатно (free) Производительность и оптимизация (HighLoad)

Шпаргалка к экзамену "Эксперт по технологическим вопросам".

27.04.2018    16923    vasilev2015    32       

Неоптимальности вида «план исполнения запроса "испортился"» - поиск и исправление 69

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

Рассматривается один из частых типов проблем в рабочих базах (второй после блокировок, пожалуй... впрочем, часто и тесно с ними связанный). Материал относится к базам данных на связке «1С - MS SQL Server».

05.02.2018    13675    fhqhelp    20       

Пример поиска неоптимальности при загрузке SQL-сервера по CPU на 100% 83

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

Вечер пятницы, ничто не предвещало.. Звонок из техподдержки: "центральная база розничной сети лежит". Далее расследование причин.

23.12.2017    15215    fhqhelp    32       

Исследование технологического журнала 1С при помощи регулярных выражений в блокноте 129

Статья Системный администратор Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Все из тех, кто пробовали сдать на сертификат "Эксперт по технологическим вопросам 1С", сталкивались с методикой ЦКТП - разбор файлов технологического журнала при помощи консоли bash. Я, в свою очередь,внёс изменения в данную методику. Мне хотелось достичь более понятного вида и сфокусироваться на Perl, в качестве предпочтительного средства обработки файлов ТЖ. Вот что из этого вышло:

30.10.2017    24174    MrWonder    38       

Вопросы разработки, анализа производительности и оптимизации приложений 1С под управлением СУБД ORACLE 16

Статья Системный администратор Программист Нет файла v8 Oracle Бесплатно (free) Производительность и оптимизация (HighLoad)

Я являюсь сотрудником Комсомольского-на-Амуре филиала компании «Сухой». Наше предприятие производит боевую авиационную технику и комплектующие для гражданской авиационной техники. В статье я вам расскажу про свой опыт работы со связкой 1С и СУБД ORACLE.

05.09.2017    10409    user597755_vices2015    2       

Оптимизируй это! Или MS SQL и Экспертный подход творят чудеса! 207

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

В статье речь пойдет про взаимодействие сервера 1С с MS SQL. Мы очень часто слышим, как важно оптимизировать все критические участки системы заблаговременно, в плановом режиме, как надо, «от и до» во всех деталях. Но в реальной жизни бывает по-другому. Очень часто клиенты обращаются к нам, когда система уже не дает работать: «спасите, помогите, болит очень сильно, надо решать». Об одном из таких случаев я и хотел бы вам сегодня рассказать.

11.07.2017    28898    R.Tsarenko    32       

Планы запросов - это просто! 291

Статья Программист Нет файла v8::Запросы Бесплатно (free) Производительность и оптимизация (HighLoad)

Наверное, каждый 1С-ник задавался вопросом "что быстрее, соединение или условие в ГДЕ?" или, например, "сделать вложенный запрос или поставить оператор В()"? В данной статье я не дам вам исчерпывающих инструкций по чтению планов запроса. Но я постараюсь объяснить доходчиво - что это такое и с какой стороны к ним подойти.

04.07.2017    31053    Evil Beaver    58       

PostgreSQL на Windows – реальная альтернатива для высоконагруженных систем на базе 1С 157

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Многие интересуются PostgreSQL, но не знают, насколько хорошо будет она работать с уже существующими системами. «Инфософт» - одна из первых компаний, кто опробовал PostgreSQL на Windows. О своем опыте перехода рассказывает руководитель отдела информационных технологий компании.      

23.06.2017    37074    a.doroshkevich    113       

Ускорение в 100 раз. Решаем проблему блокировок 329

Статья Программист Нет файла v8 v8::УФ 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Я являюсь автором и тренером курсов по оптимизации и повышению производительности в 1С. Большинство людей приходят ко мне на обучение, желая разобраться со своими проблемами, и я очень часто слышу от них: «эти блокировки замучили, достали, жизни нет, что делать – не знаем. Технологический журнал включали, галочки ставили, форумы читали – ничего не помогает». Я уверен, что эта тема актуальна для многих из вас, поэтому в статье, не вдаваясь глубоко в подробности, я хочу вам дать некоторые конкретные рекомендации, которые вы сможете применить у себя и сразу получить ощутимый эффект. Например, если у вас запрос из-за блокировок выполняется 15 секунд, то после оптимизации он начнет выполняться за 15 миллисекунд. Это обычная практика, никакой фантастики – все это можно сделать.

13.06.2017    60063    Andreynikus    34