Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Рекомендации по поводу конфигурации компьютеров 
Автор Сообщение
Новичок

Зарегистрирован: Пн, 05 июл 2004, 18:58
Сообщения: 46
Откуда: Хмельницкий
Написано: Чт, 22 июл 2004, 15:54
Сообщение Рекомендации по поводу конфигурации компьютеров
Разработчики (да и все кто в "железе" разбираеться), есть ли какие-то рекомендации по поводу конфигурации компьютеров начиная от "железа" и до оси, в смысле "на чем" Офис будет работать с максимальной скоростью, мож какой-нидь выделенны сервер какой-то или например сетевые карты определенные? Слышал мысль, что сетевая СУРЕКОМ ганяет пустые пакеты, чем забивает локалку? Так ли это?
Мой босс частенько спрашивает: "че мол так тормозит то?", и как ему обьяснить что sqlservr сожрал где-то 550 метров виртуальной памяти за пол дня, (около 100 документов ).- так я ему и говорю, что нужно махину покруче покупать.. почти обламал.. тока вот думаю, а если это не даст ожидаемого результата?
Приведу конфиг в поддержку текста:
сервер P4 2.4, 512 Озу, карта Realtek RTL8139/810X Family PCI Fast Ethernet NIC
клиенты в основно Пеньки до 1 гигагерца, у кого суреком, у кого рилтек. озу в райолне 128 или 215.
6 клиентов. размер базы созданой 22.11.2003 - 655 МБ.
Если есть варианты советуйте....


Последний раз редактировалось Metalslave Чт, 31 мар 2005, 18:29, всего редактировалось 1 раз.



Профиль
Бывалый
Аватара пользователя

Зарегистрирован: Чт, 11 мар 2004, 14:39
Сообщения: 162
Откуда: Львов/Киев
Написано: Чт, 22 июл 2004, 16:43
Сообщение 
Metalslave,
Цитата:
сервер P4 2.4, 512 Озу, карта Realtek RTL8139/810X Family PCI Fast Ethernet NIC

:-) У меня рабочая машинка - Athlon XP 2400+, 512 DDR, 80Gb, Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (+ еще встроенная nForce2 Ultra 400).

1. Дешево и сердито.
P4-2.8 HT FSB 800, 512Mb DDR400, 40Gb HDD 7200 rpm (system) + 40Gb HDD 7200 (database), Intel Pro 100/1000. OC - Windows 2000 Server (или Windows XP Pro - еще дешевле). Сервер до 7 клиентов.

2. Средненько
AMD Athlon 64 3400+, 1024Mb DDR400, 40Gb HDD 7200 rpm (system) + RAID1 (mirror) 2x40Gb HDD 7200 (database), Intel Pro 100/1000. OC - Windows 2000 Server. Сервер до 10 клиентов.

3. Выше среднего
Asus PC-DL Deluxe, 1x Intel Xeon 2.8 (Prestonia), 1024Mb DDR400, 40Gb HDD 7200 rpm (system) + RAID0+1 (mirror + stripe) 4x40Gb HDD 7200 (database), Intel Pro 100/1000. OC - Windows 2000 Server. Сервер до 15 клиентов.

4. Высоко
Asus PC-DL Deluxe, 1x Intel Xeon 3.2 (Gallatin), 2048Mb DDR400 ECC, RAID1 2x40Gb HDD 7200 rpm (system) + RAID0+1 (mirror + stripe) 4x80Gb HDD 7200 (database), 2x Intel Pro 100/1000. OC - Windows 2000 Server. Сервер до 20 клиентов.

5. Идеал
i7501, 2x Intel Xeon 3.2 (Gallatin), 2048Mb DDR400 ECC, RAID1 2x40Gb HDD 7200 rpm (system) + RAID0+1 (mirror + stripe) 4x80Gb HDD 7200 (database), 2x Intel Pro 100/1000. OC - Windows 2000 Server. Сервер до 25..30 клиентов.

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


Последний раз редактировалось Denis_L Пт, 23 июл 2004, 15:32, всего редактировалось 2 раз(а).



Профиль
Аватара пользователя

Зарегистрирован: Чт, 22 июл 2004, 17:12
Сообщения: 8
Откуда: Ukraine, Krivoy Rog
Написано: Чт, 22 июл 2004, 17:53
Сообщение 
Цитата:
1. Дешево и сердито.
P4-2.8 HT FSB 800, 512Mb DDR400, 40Gb HDD 7200 rpm (system) + 40Gb HDD 7200 (database), Intel Pro 100/1000. OC - Windows 2000 Server (или Windows XP Pro - еще дешевле). Сервер до 7 клиентов.


Я бы добавил небольшой комментарий - оперативки должно быть минимум 1024МБ (желательно 2048МБ от 5 до 15 рабочих мест) т.к. МSSQL только для нормальной работы необходимо порядка 700-800МБ. Если кто-то вспомнит об ограничении аппетитов МSSQL в памяти сразу добавлю: лучше этого не делать, как показывает практический опыт.

_________________
Анфалов Ян (группа "Lamed")


Профиль ICQ
Бывалый
Аватара пользователя

Зарегистрирован: Чт, 11 мар 2004, 14:39
Сообщения: 162
Откуда: Львов/Киев
Написано: Пт, 23 июл 2004, 14:28
Сообщение 
Так же в подборе конфигурации сервера следует учитывать степень загруженности (готовности) сервера, потому как 3-4 активно работающих клиента могут создать такую же нагрузку на сервер, как и 5-7 клиентов, работающих в неактивном режиме.


Профиль
Новичок

Зарегистрирован: Пн, 05 июл 2004, 18:58
Сообщения: 46
Откуда: Хмельницкий
Написано: Пт, 23 июл 2004, 15:25
Сообщение 
Пожалуй, для начала докуплю память, еще 512М. скоро тем более нам понадобиться 7-ой клиент.


Профиль
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Ср, 28 июл 2004, 11:22
Сообщение 
Вот этот вот девайс - Realtek RTL8139/810X Family PCI Fast Ethernet NIC - лучше бы заменить на что-то Интеловское. Дело в том, что сетевые карты на чипах Realtek, будь то D-Link или Surecom или еще неважно кто, очень здорово нагружают процессор. Интеловские же в этом плане намного более предпочтительны, по причине того, они нагрузку создают намного меньшую. Для клиентских машин это не критично, а вот для сервера - весьма... Рекомендую почитать для начала тут. Кроме того, часто "референсные" драйверы для этих чипов содержат ошибки. Мы сами с ними встречались. Так что настоятельно рекомендуется скачивать для этих карт соответствующие драйверы с сайта производителя.


Профиль WWW
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Чт, 04 ноя 2004, 16:46
Сообщение 
По многочисленным просьбам представляю варианты опробованых конфигураций для серверов:
1. Материнская плата
Intel SE7505VB2 "Vero Beach" (DP Xeon, Intel E7505, FSB 533/400, ECC DDR266/200, 1xUltra320 via adapter (optional), Serial ATA RAID 0/1, PRO/100 + PRO/1000XT server adapter, integrated video 8MB, AGP 8X)
2. Процессор
Intel PENTIUM 4 XEON (2.4-3.2ГГц)
3. Память
1, 2 или 4Гб сертифицированной памяти (DDR ECC & Registered). Частота памяти зависит от частоты системной шины процессора: для 400МГц - РС2100, для 533МГц - РС2700. Список сертифицированных модулей смотреть на сайте Intel. Память набирать четным числом модулей для обеспечения 2-х канального режима работы.
4. Корпус
SC5250-E "Pilot Point" (KPTBASE450, Mid-Tower, 5U Entry-level Chassis, 450W power, pedestal only, option for five hot-swap SCSI or four hot-swap SATA drives)
5. SCSI-RAID контроллер
При наличии SCSI-контроллера на материнской плате - SRCZCR "Caldwell" (zero-channel RAID U320, 64-bit, 32Mb memory (non-upgr.), low-profile)
При отсутствии SCSI-контроллера на материнской плате - SRCU42L (dual-channel U320 RAID, 64Mb Cache, low-prifile).
Это полностью валидированный Intel-ом и наиболее надежный вариант платформы.

5. Дисковые массивы
Желательный вариант под высокую нагрузку и скорость (3 массива).
1-ый массив (RAID 1) - система и программы.
2хSATA диска 80GB.
2-ой массив (RAID 1) - файлы баз данных (рабочие и ТЕМРDB, MSDB, MASTER).
2xSCSI диска 36-72 Гб.
3-ий массив (RAID 1) - файлы транзакций и резервные копии.
2xSCSI диска 36-72 Гб.

Возможный вариант под высокую нагрузку и скорость (2 массива).
1-ый массив (RAID 1) - система, программы, файлы транзакций и резервные копии.
2хSATA диска 80GB.
2-ой массив (RAID 1) - файлы баз данных (рабочие и ТЕМРDB, MSDB, MASTER).
2xSCSI диска 36-72 Гб.

Начальный вариант под небольшую нагрузку (1 массив).
1-ый массив (RAID 0) - все валим в кучу.
2хSATA диска 80-200GB.

Остальное (флоппи-диски, CD-ROM, CD-RW, DVD) добавляем по вкусу.

Еще один вариант удешевления есть использование однопроцессорной платформы Intel.
1. Материнская плата
Intel SE7210TP1 "Torrey Pines" (Single P4, SE7210, 800/533/400 MHz bus, up to 4Gb memory DDR266/333/400, 10/100 + 10/100/1000 LAN & video on board, Serial ATA RAID 0/1)
2. Процессор
Intel PENTIUM 4 (2.4-3.6ГГц)
3. Память
1, 2 или 4Гб сертифицированной памяти (DDR ECC желательно). Частота памяти зависит от частоты системной шины процессора: для 400МГц - РС2100, для 533МГц - РС2700, для 800МГц - РС3200. Список сертифицированных модулей смотреть на сайте Intel. Память набирать четным числом модулей для обеспечения 2-х канального режима работы.


Последний раз редактировалось Merlin Пн, 08 ноя 2004, 16:59, всего редактировалось 2 раз(а).



Профиль WWW
Гуру
Аватара пользователя

Зарегистрирован: Ср, 18 авг 2004, 18:54
Сообщения: 1695
Откуда: Тячівський р-н, Сонячне Закарпаттячко
Написано: Чт, 04 ноя 2004, 17:08
Сообщение 
На iXBT был спор на форуме, из которого ясно, неставить зеркала (RAID 0) под базы.
Там рекомендуют:
RAID 0: 2 диска - система + програмы
RAID 5(10):3 диска - база данных
RAID 5(10): 2 диска - логи
При этом ставить "внутренний УПС" на сам RAID-контроллер, чтобы записывал кеш.

По поводу памяти - должно быть порядка 1,2*размер файлов баз данных вместе взятых (из практики), не менее. Но до 4 Гб. Иначе прийдется искать Windows Datacentre, она поставляеться только вместе с компами, тянет до 64 Гб, и заодно сисадмина для установки и настройки AWE на всем этом.
Коментраий для дешовых вариантов:
1) Видео хватит и 1 мб встроеного
2) Обязательно не смешивать работу SATA и PATA контроллеров (обязательно выключить).

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (c) ...
Этот пост выражает мнение партнера АБ-Системы, и является совокупностью идей, мыслей, предложений пользователей АБ-Офиса.


Профиль WWW
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Чт, 04 ноя 2004, 19:16
Сообщение 
Дима,
1. Что значит "RAID 5(10)"?
2. Что значит "RAID 5(10): 2 диска - логи" Как можно RAID 5 организовать на 2-х дисках?
1,2*размер файлов баз данных вместе взятых (из практики), не менее.
3. Неверно. Что делать, если база 10Гб? А если 20Гб? Чем больше памяти, тем лучше, с этим не поспоришь. Но и формулы какой-либо нету. Все зависит очень сильно от структуры базы, характера нагрузки и ожидаемого (желаемого) быстродействия.
"внутренний УПС" на сам RAID-контроллер
Тоже неверно. Правильно называется BBU (Battery Backup Unit). Нужен только при активизации режима write back на контроллере. Стоит он недешево. Хотя, конечно, иметь его неплохо.


Профиль WWW
Бывалый
Аватара пользователя

Зарегистрирован: Чт, 11 мар 2004, 14:39
Сообщения: 162
Откуда: Львов/Киев
Написано: Пт, 05 ноя 2004, 11:41
Сообщение 
Я бы не стал рекомендовать RAID0 для баз данных так как потеря любого из дисков при двухдисковой конфигурации означает потерю базы данных. Для высокой надежности нужно делать RAID1, а для высокой производительности с неменее высокой надежностью - RAID 0+1 или RAID 10.

Изображение
Изображение
Изображение
Изображение
Изображение


Профиль
Профи

Зарегистрирован: Чт, 27 май 2004, 14:43
Сообщения: 590
Откуда: Хмельницкий
Написано: Пт, 05 ноя 2004, 12:33
Сообщение 
мои данный. база 3,8 гига. юзеров от 7 - 16 постоянно
база работает нормально. (не жалуюсь) бысто и стабильно. без тормозов. единственное бывают тормоза когда кто-то делает оборотно сальдовую за прошлый год. по партнеру к примеру.

сервак: 2*п3-1Г, 1,5ОЗУ, раид 0. 2*36г. 1 под систему и лог. 2-й под базу данных. + 1 иде на 80 гиг . каждый день резервная копия на нем.

_________________
С Уважением
Андрей Паламарчук
KLAST LTD


Профиль ICQ WWW
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Ср, 16 ноя 2005, 13:14
Сообщение 
Какой сервер выбрать?
Как правило, производительность сервера сильно зависит от того, какую имеено нагрузку он несет и насколько аппаратная конфигурация ей соответствует. Тут есть несколько аспектов.

Аспект первый, относящийся ко всем учетным системам. Существуют 2 диаметрально разных вида нагрузки.

Первый: часто его называют OLTP (On-Line Transaction Processing) - система оперативной обработки транзакций. Совсем упрощенно это можно представить как 10-20 девочек, набивающих приходные и выписывающие расходные накладные и все сопутствующие документы.
В этом случае основная нагрузка ложится на дисковую систему, поскольку система, как правило, генерирует много мелких транзакций, связаных с добавлением и модификацией данных, постоянным изменением индексов и т .д.

Второй: часто его называют OLAP (On-Line Analytical Processing) - система поддержки принятия решений (аналитика). Упрощенно это выглядит как 10-20 менеджеров по закупкам, которые анализируют что же и как хорошо(плохо) продавалось в разрезе регионов, товарных групп и т.д. и т.п.
В этом случае основная нагрузка ложится на процессор и подсистемы всех иерархий памяти, поскольку, как правило, генерируется большие результирующие наборы данных, обработка которых ведется, естественно в памяти. Тут тоже есть нюанс связанный с тем, кто именно делает основную работу - SQL-сервер или сервер приложений. Можно запросить у SQL-сервера набор данных и фильтровать(сортировать и т.п.) на сервере приложений, а можно поручить эту работу самому SQL-серверу и серверу приложений оставить только небольшую окончательную обработку. С этой точки зрения не имеет значения, кто именно выполняет основную работу, имеет значение то, что нужен шустрый процессор и много быстрой памяти всех иерархий.
Сложность и противоречивость заключается в том, что в 4-ке эти два различных вида нагрузки должна нормально нести одна машина.

Аспект второй, относящийся непосредственно к связке 4-ка и SQL-сервер.
В подавляющем числе случаев оба приложения (и 4-ка, и SQL-сервер) работают на одном сервере. И вполне естественно, что между ними постоянно идет конкуренция за системные ресурсы.
4-ка по своей сути есть система обработки данных, работающая через свой внутренний язык. Поскольку компилятор 4-ки не генерит объектный код (пока по крайней мере), быстродействие системы не может сравниться с быстродействием классических компиляторов. Поэтому 4-ка чувствительна к частоте процессора, пожалуй, в первую очередь. Памяти 4-ка использует, как правило, не очень много. Быстродействие дисковой системы 4-ку, по большому счету тоже не очень волнует, поскольку практически все дисковые операции, за исключением работы с файлом конфигурации, выполняет SQL-сервер.
MS SQL-сервер по своей природе не очень чувствителен к частоте процессора, его основное требование - много памяти и максимально быстрая дисковая система. Чем больше памяти, тем большую часть данных он сможет кэшировать, тем больше ресурсов он может выделить своим внутренним системам. Не стоит упрощать ситуацию, представляя, что MS SQL "затягивает" базу в память и там с ней работает. :) У него есть несколько своих основных потребителей памяти, каждый из которых поддерживает свои механизмы кэширования и буферизации. Это и менеджер упреждающего чтения, и менеджер отложенной записи, и монитор блокировок, и менеджер лог-файлов и т.д. Всем им нужна память, память и еще раз память.

Исходя из этих двух аспектов и ожидаемого характера нагрузки необходимо подбирать конфигурацию сервера, а затем и настраивать его.
1. Крайне желательно иметь 2 процессора, чтобы уменьшить конкуренцию между 4-кой и MS SQL-ом за процессор.
2. Крайне желательно иметь быструю дисковую систему. Минимально допустимым вариантом могут быть 2 диска, "живущих" на разных каналах дискового контроллера. При этом на разные каналы необходимо разносить собственно файлы баз и лог-файлы. Это крайне важное требование. Особенно если ожидается нагрузка типа OLTP.
3. Памяти ставить столько, сколько вытягивает бюджет, выделенный на сервер. Не менее 1Гб, желательно 2Гб и более. При этом рекомендуется в настройках MS SQL-а ограничить верхнюю границу памяти, доступной ему, величиной равной: Общий объем физической памяти - объем памяти занимаемой ОС (100-200Мб в зависимости от версии и настроек) - нужный объем памяти для 4-ки (50-150Мб как правило). Это связано с тем, что при установках по умолчанию, MS SQL постепенно занимает всю доступную физическую память за вычетом 5Мб. А это связано с тем, что, как правило, SQL-сервер является монопольным "хозяином" сервера. :) Такая настройка приводит к тому, что между ОС, MS SQL-ом и 4-кой все время идет конкуренция еще и за память. Если вдруг 4-ке понадобилось дополнительно 10-20Мб памяти, то ОС сразу ее выделить не сможет, поскольку она занята MS SQL-ом. Начинается откачка его памяти на диск, что является крайне "дорогой" операцией с точки зрения затрат времени. Через какое-то время 4-ка освобождает память, ее тут же снова хватает MS SQL, потом 4-ке опять понадобиться чуть памяти и история повторяется. Все это крайне отрицательно сказывается на быстродействии сервера.
Это ключевые моменты. Есть еще несколько менее значительных, но, все же, достаточно важных.
4. Очень не рекомендуется использовать сетевые адаптеры, построенные не на чипах компаний Intel, 3COM и Marvel. Особенно это касается чипов компании Realtek. Они вполне работоспособны, но генерируют очень большую нагрузку на процессор и шину. Это связано с тем, что очень большое количество функций выполняется не аппаратно, а на уровне драйвера.
5. Категорически запрещается использование ОС типа Windows98/Me. Кроме того, крайне рекомендуется использовать файловую систему NTFS. Многие горе-админы частенько на сервера ставят FAT32 по одной простой причине. До нее проще добраться в случае как-либо проблем. Этого делать нельзя, поскольку отказоустойчивость у нее практически никакая.

Аспект третий, экономическо-психологический.
Самый сложный. :) Какой уровень комфорта в работе хотят(могут) позволить себе Заказчики. Сколько должен выполняться тот или иной отчет? Кому-то 30 секунд покажется нормально, а кому-то и 5 секунд будет невыносимо долго. Понятно, что, чем больше денег вложить в сервер (если делать это разумно), тем большее быстродействие будет получено.

Нет и быть не может некоей единого, универсального ответа на вопрос: "Какой мне нужен сервер на 5, 10, 20 пользователей?". Могут быть оценочные рекомендации. Идеальным варианом является установка сервера "в первом приближении". Затем анализ его производительности при помощи Performance Monitor-а и поиск, анализ и устранение "узких" мест.

Что касается клиентских компьютеров. 4-ка практически всегда использует клиентские датасеты(курсоры). Большая часть работы разработчиками конфигурации "повешена" также на клиентскую часть. Хорошо это или плохо - другой вопрос. Выводы делайте сами. Т.е. совсем "тонкими" клиенты быть не могут. Наличие хотя бы 256Мб памяти является весьма желательным для Windows2000/XP. Для Windows98/Ме вполне может хватать и 128Мб. Также не стоит ожидать "реактивного" быстродействия от компьютера с 333-им целероном. :) Любого же современного, пусть и самого дешевого процессора хватит "за глаза и за уши".


Профиль WWW
Бывалый

Зарегистрирован: Вт, 22 июн 2004, 8:57
Сообщения: 119
Откуда: г. Николаев
Написано: Чт, 24 ноя 2005, 20:11
Сообщение 
>>>> 2. Крайне желательно иметь быструю дисковую систему. Минимально допустимым вариантом могут быть 2 диска, "живущих" на разных каналах дискового контроллера. При этом на разные каналы необходимо разносить собственно файлы баз и лог-файлы.

А какие из них кто эти файлы??


Профиль ICQ
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Пт, 25 ноя 2005, 15:31
Сообщение 
sas,
А какие из них кто эти файлы??
Файлы данных имеют по умолчанию расширение *.mdf, лог-файлы соответственно - *.ldf.


Профиль WWW
Бывалый

Зарегистрирован: Вт, 22 июн 2004, 8:57
Сообщения: 119
Откуда: г. Николаев
Написано: Сб, 26 ноя 2005, 0:05
Сообщение 
А лог файлы нужно держать на безопасном диске (ну в смысле на раид массиве) или можно на обычном? что произойдет если их удалить?


Профиль ICQ
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Вс, 27 ноя 2005, 21:11
Сообщение 
sas,
Нет, логи можно держать не на рэйде. Во время работы их не удалить, они локированы. Если же SQL остановить, тогда - ДА, удалить можно. Смертельного ничего, но часть самых последних данных может быть утрачена. Так что лучше этого не делать...


Профиль WWW
Гуру
Аватара пользователя

Зарегистрирован: Ср, 18 авг 2004, 18:54
Сообщения: 1695
Откуда: Тячівський р-н, Сонячне Закарпаттячко
Написано: Вс, 27 ноя 2005, 21:24
Сообщение 
sas, в зависимости от типа архивирования базы данных.
В случае простого рекомендуют базу на райд, а логи на простой. В случае потери логов, база переводиться в аварийный режим и из нее копируються данные в другую базу.
В случае полного логи на райд, базу на простой, и полную резервую копию. В случае потери логов - данные на момент последней копии. В случае потери базы, данные востанавливаються из резевной копии и подстановкой логов.
Если нехочеш розбираться - оставляй простой.
Если хочеш иметь много возможностей для востановления (хоть раз в 30 сек) то ставь полный. НО настрой его правильно, иначе будет только хуже

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (c) ...
Этот пост выражает мнение партнера АБ-Системы, и является совокупностью идей, мыслей, предложений пользователей АБ-Офиса.


Профиль WWW
Бывалый

Зарегистрирован: Вт, 22 июн 2004, 8:57
Сообщения: 119
Откуда: г. Николаев
Написано: Вс, 27 ноя 2005, 21:42
Сообщение 
Ясно...
тогда по ходу еще хотелось бы уточнить как часто нужно делать оптимизацию и проверку базы данных?
и нужно ли вобще?


Профиль ICQ
Гуру
Аватара пользователя

Зарегистрирован: Ср, 18 авг 2004, 18:54
Сообщения: 1695
Откуда: Тячівський р-н, Сонячне Закарпаттячко
Написано: Пн, 28 ноя 2005, 10:38
Сообщение 
Цитата:
как часто нужно делать дефрагментацию и проверку дисков?
и нужно ли вобще?
Небольшая разница от файловой системы, но суть таже. В принципе, база может даже храниться БЕЗ файловой системы, на неотформатированом диске. Все необходимые данные для этого она имеет. Только в место файлов - таблицы. По этому на усмотрение админа.
В одной точке, оптимизацию приходиься делать раз в 4 дня.
В другой раз в три месяца выполняю для профилактики, но от этого ничего не меняеться.
В третей уже год прошел, за это даже никто незнает....

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (c) ...
Этот пост выражает мнение партнера АБ-Системы, и является совокупностью идей, мыслей, предложений пользователей АБ-Офиса.


Профиль WWW
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Вт, 29 ноя 2005, 14:49
Сообщение 
По поводу проверки базы данных.
Проверку базы данных рекомендуется делать регулярно, особенно в тех местах, где часто происходит отключение питания или падения сервера. Если вы этого не делаете, продолжайте не делать это на свой страх и риск. MS SQL, как и любая другая программа, не является идеальной. :) В некоторых случаях, таких как аварийное отключение питания по ходу работы, в базах могут появиться проблемы связаные с нарушением их внутренней структуры. Отчасти это напоминает проблемы, которые возникают с файловыми системами (потеряные кластеры, перекрестные ссылки и т.п.). Причем на работе 4-ки это может никак не отразиться поначалу. Посему общее правило всех компьютерщиков: "Предохраняйтесь!" :) тут также имеет право на жизнь. Времени это отнимает немного, а нервы поможет сэкономить... Наличие проблем с базой может выражаться в самопроизвольных падениях 4-ки, вылетах и падениях MS SQL-а, невозможности подключить базу. Как с этим бороться?
Если у вас установлена версия MS SQL, которая имеет в своем составе утилиту SQL Query Analyser (isqlw.exe), то все просто. Запускаете ее, далее пишете:
Код:
dbcc checkdb ('type_default')

и жмете F5, где type_default в одинарных кавычках - логическое название той базы, которую вы хотите проверить.
Это просто проверка целостности и непротиворечивости внутренней структуры базы. Каждое выполнение dbcc отражается в Журнале Приложений системы и потому всегда можно проверить его результаты, даже если вы уже закрыли окно SQL Query Analyser-а. На экране вы увидите много строк, но нас интересует предпоследняя. При отсутсвии ошибок в ней будет написано: "CHECKDB found 0 allocation errors and 0 consistency errors in database 'type_default'". В этом случае все в порядке. Если же вместо одного или обоих нулей вы увидите какие-либо цифры - в базе есть те или иные проблемы. Надо применять опции для восстановления структуры базы. Необходимый уровень исправления ошибок (по мнению MS SQL-a) также указывается под строкой с результатами проверки. А ошибается он редко.
Всего есть 3 уровня (REPAIR_FAST, REPAIR_REBUILD, REPAIR_ALLOW_DATA_LOSS). Пишутся они после названия базы через запятую, вот так:
Код:
dbcc checkdb ('type_default', REPAIR_FAST)

Две первые из них выполняются без риска потери данных, последняя применяется как крайнее средство, поскольку ее результатом может быть потеря данных.
REPAIR_FAST исправляет небольшие ошибки, такие как восстановление дополнительных ключей в некластеризованых индексах.
REPAIR_REBUILD делает все то же, что и REPAIR_FAST, а кроме того времязатратные восстановительные операции, такие как перестройка индексов.
REPAIR_ALLOW_DATA_LOSS выполняет те же действия, что и REPAIR_REBUILD, а кроме того исправляет ошибки выделения и освобождения строк и страниц для исправления ошибок распределения (allocation error), ошибок струстуры строк и страниц, и удаления поврежденных текстовых объектов. Результатом исправления этих ошибок может быть частичная потеря данных. В принципе, REPAIR_ALLOW_DATA_LOSS может выполняться в рамках транзакции, соответственно может быть откачена назад. Но лучшим способом решения проблем в том случае, если не помогает REPAIR_REBUILD, является восстановление базы из резервной копии. Только следует учитывать тот факт, что если вы не делали проверок целостности базы, то ваша резервная копия может также содержать ошибки, которые не были выявлены ранее. Поэтому настоятельно рекомендуется перед созданием резервной копии делать проверку.
Все три уровня восстановления можно выполнять только в монопольном режиме, т.е. перед выплнением dbcc checkdb с опциями базу необходимо переверсти в режим single user, а затем вернуть в нормальный многопользовательский режим. 4-ка при этом, разумеется, не должна быть подключена к MS SQL-у. Выполняется это посылкой следующих команд:
Код:
use master
exec sp_dboption 'type_default', 'single user', 'true'

use master
exec sp_dboption 'type_default', 'single user', 'false'

Кроме того, не помешает периодически делать проверки системных баз MS SQL-а (master и msdb), поскольку в них также могут появляться ошибки.
Если же у вас установлен MSDE, то утилиты SQL Query Analyser (isqlw.exe) у вас нет. Что делать? Тут тоже ничего сложного нет. :) В составе MSDE включены утилиты командной строки (isql.exe и(или) osql.exe), аналогичные по возможностям isqlw.exe. Просто isqlw.exe имеет графический интерфейс. В остальном все то же самое. Формирование команды(запроса), отсылка его серверу, получение результат и отображение его на экране. Различие между isql.exe и osql.exe состоит в том, что первая для связи с MS SQL-ом использует DB-Library, вторая - ODBC. Соответственно, возможности второй несколько шире, поскольку DB-Library поддерживается только для совместимости с MS SQL 6.5 и не поддерживает некоторые возможности седьмой версии, не говоря уже про 2000-ой. Утилиты мощные, опций у них много. Увидеть их можно выполнив в командной строке osql.exe /?. Мы коснемся только тех из них, которые необходимы для выполнения задачи проверки базы. Тут есть несколько вариантов.
Вариант 1. Просто проверка.
Все совсем просто. Переходим в каталог с osql.exe и пишем в командной строке:
Код:
osql.exe -E -d type_default -Q "dbcc checkdb" -S servername,

где:
означает использование для подключения и аутентификации вашу учетную запись, а не запрашивать логин и пароль;
-d type_default указывает базу, с которой вы будете работать;
-Q "dbcc checkdb" в кавычках передается команда(запрос), который необходимо выполнить, после чего следует выход из утилиты;
-S servername дает возможность указать сетевое имя того сервера, к которому мы хотим обратиться.

Вариант 2. Восстановление.
Создаем текстовый файл, называем его, к примеру, check.sql и ложим в ту же папку, где находиться osql.exe. В файле пишем тот набор команд, который нам надо выпонить:
Код:
use master
exec sp_dboption 'type_default','single_user','true'
dbcc checkdb ('type_default', repait_fast)
exec sp_dboption 'type_default','single_user','true'

Далее пишем в командной строке:
Код:
osql.exe -E -i check.sql -S servername,

где:
-i указывает на файл, в котором находятся те команды, которые нам неоходимо выполнить.
Результаты выводятся на экран, хотя можно выводить их в файл при помощи опции -o имя_файла. Вообще тем, кто желает быть на "ты" с MS SQL-ом, желательно освоить osql.exe, поскольку Enterprise Manager или SQL Query Analyser под рукой не всегда, а эта утилита есть везде. Более того, ее смело можно всегда таскать с собой на флэшке. :) Эти два варианта не являются единственными, вы можете скорректировать их для собственного максимального удобства при помощи дополнительных опций.
Как резюме: обязательно настройте автоматическую проверку рабочих баз. Периодически просматривайте системные логи на предмет появления записей об обнаружении ошибок в базах и исправляйте их в случае появления. Автоматическая проверка НЕ может автоматически их исправить, поскольку для этого базу надо переводить в монопольный режим. В случае "жестких" падений сервера (железки) проверяйте базы сразу.
Вообще подобные проблемы бывают нечасто, не стоит их сильно бояться. Но и игнорировать не рекомендуется. Абсолютно надежных систем, к сожалению не бывает. Потому бэкап, бэкап и еще раз бэкап. В нашей практике была парочка случаев использования опции REPAIR_ALLOW_DATA_LOSS, но это НЕ привело к потере данных.


Профиль WWW
Гуру
Аватара пользователя

Зарегистрирован: Ср, 18 авг 2004, 18:54
Сообщения: 1695
Откуда: Тячівський р-н, Сонячне Закарпаттячко
Написано: Вт, 29 ноя 2005, 15:25
Сообщение 
REPAIR_ALLOW_DATA_LOSS в основном приходиться выполнять при розрушении винта-носителя. Было всего один раз.
В первом случае 80Гиговый винт имел 26Гигобайт бедблоков. Винда была на издыхании. На новом винте включить ДМА так и не получилось. Пришлось винду переставлять.
База была востановлена кроме большым МЕМО массивов. (повезло)
НО
было еще хуже.
Винт с базой тупо розмагничивался. Копия файла на него же не совпадала с оригиналом. Любая попытка доступа к файлам приводила к "автоматической релокации кластеров" самой виндовс. Испорчены системные таблицы в базе (первые 2 мегабайта). база не подключалась, сервак отпихивал как файл с фильмами.
Время до последней резевной копии - 7 суток.
пришлось изучить формат самих файлов, и вытягивать данные ПОСТРАНИЧНЫМ чтением базы. Благо надо было вытянуть всего две таблицы. На основе старой резевной копии выбирались необходимые ИД Таблиц, и после этого вытягивались две таблицы со старого винта на новую базу на другом винте. Ориентировочно время такого чтения - 1 гиг файла базы на 5 суток.

Поэтому (IMHO) нужно почаще проверять как диски так и базу

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (c) ...
Этот пост выражает мнение партнера АБ-Системы, и является совокупностью идей, мыслей, предложений пользователей АБ-Офиса.


Профиль WWW
Суперагент

Зарегистрирован: Чт, 18 мар 2004, 15:44
Сообщения: 288
Откуда: Украина, Львов
Написано: Вт, 31 май 2011, 18:18
Сообщение 
Ну что же, прошло немало времени и пора бы обновить наши рекомендации по выбору компонентов серверной системы. Впрочем, универсального рецепта, подходящего совсем всем, пока не появилось. ;)
Вопрос первый. 64 или 32 бита для ОС.
Теперь уже можно говорить, что да, выбор 64-битной системы является оправданным, поскольку среда вышла из младенческого возраста и вполне избавилась от своих "детских" болезней, обзавелась необходимой драйверной поддержкой и т.п. С точки зрения "железа" выбор этот уже давно не стоит, поскольку все современные процессоры обладают поддержкой 64-битный вычислений. Ну а основным преимуществом 64-битной Windows, конечно же, является возможность без проблем и неких ухищрений адресовать более 3 ГБ памяти. Стоимость же современной DDR2 или DDR3 такова, что вполне позволяет оснастить даже сервер начального уровня 4 ГБ памяти. Хотя 8 ГБ, а тем более 16 ГБ являются более предпочтительным вариантом, если у вас база данных приличного размера (от 4-5 ГБ и выше).
Вопрос второй. Железо для сервера.
В этом плане ничего принципиально не изменилось со времени поста "Какой сервер выбирать" от 16 ноября 2005 года. Сервер 4-ки все так же чувствителен к максимальной частоте процессора, а MSSQL все так же любит много памяти и быстрые диски. Уровень нынешних цен на процессоры так же агитирует за то, что брать процессор с количеством физических ядер менее 4 не является оптимальным решением. С другой стороны, если будет стоять выбор между 4-ядерником с частотой 3.4 ГГц и 6-ядерником с частотой 2.8 ГГц, то более высокочастотный процессор будет лучшим выбором. Этот же фактор (цены) говорит и о том, что для клиентских компьютеров вполне достаточно любого современного 2-ядерного процессора и 1-2 ГБ оперативной памяти (в случае использования Windows 7 рекомендуется все же 2 ГБ для комфортной работы).
С точки зрения дисковой системы ситуация все такая же. Крайне рекомендуется разносить файлы данных (файлы *.mdf) и логи транзакций (*.ldf) на разные каналы дисковой системы. Это позволяет MSSQL-у одновременно писать и сами данные, и хронику их изменений не устраивая гигантских очередей запросов к диску.
Те, кто хотят еще повысить быстродействие в сильно нагруженной системе, могут вынести на отдельный канал системную базу tempdb, которую MSSQL активно использует для создания, хранения и обработки временных данных.
Так же крайне рекомендуется организовать зеркалирование того диска, на котором располагаются файлы данных. А при наличии достаточного бюджета и системного диска с операционной системой.

И последнее, обращенное к руководителям. Не "жмите" денег на сервер. В нашей практике есть случаи, когда на 4-ядерный сервер (правда брендовый) с 4 ГБ памяти, быстрым SAS-контроллером с несколькими шустрыми дисками и 32-разрядной ОС повесили следующую нагрузку: сервер 4-ки с более чем 30-ю клиентами, иногда более 30 (!) клиентов в терминальных сессиях, работающих с клиентом 4-ки и пакетом MS Office (включая Outlook), MSSQL. Он же контроллер домена, DNS и прочая инфраструктура. Как водится, ожидать от такой конфигурации стабильной работы не приходится. Нет, теоретически все должно бы работать и оно все как бы работает. Ни одна программа ведь не написала, что "я отказываюсь обитать в такой коммуналке". Но в этой реальности такого не происходит и периодически валится то одно, то второе, то третье.


Профиль WWW
Гуру

Зарегистрирован: Чт, 18 мар 2004, 11:49
Сообщения: 1148
Откуда: Львов
Написано: Ср, 31 авг 2011, 9:59
Сообщение 
Минимальные и рекомендуемые системные требования теперь доступны на странице
Обзор «АБ ОФИС» 4.0.


Профиль

Зарегистрирован: Пн, 28 окт 2013, 13:41
Сообщения: 5
Написано: Пн, 28 окт 2013, 13:57
Сообщение Re: Рекомендации по поводу конфигурации компьютеров
Доброго дня.
Чи може хтось дати відповідь на питання. Ми використовуємо Windows
Server 2003R2 Enterprise x64, а SQL Server 2008R2 Sp2 x86 (який іде в
комплекті з сервером АБ Офіса). Чи не є доцільним встановити
64-розрядну версію SQL сервера? Чи це дасть якісь переваги при
використанні ОЗУ і швидкодії роботи?

Параметри сервера:
АБ 4.0.18.10
Intell Core i7 CPU 870@2.93GHz, 8Gb ОЗУ. SSD диск під систему, RAID1 під бази і ldf, WindowsServer 2003R2 Enterprise x64, SQL Server 2008R2 Sp2 x86 (який іде вкомплекті з сервером АБ Офіса).


Профиль
Гуру
Аватара пользователя

Зарегистрирован: Ср, 18 авг 2004, 18:54
Сообщения: 1695
Откуда: Тячівський р-н, Сонячне Закарпаттячко
Написано: Вт, 29 окт 2013, 12:03
Сообщение Re: Рекомендации по поводу конфигурации компьютеров
якщо розмір бази буде більше чим 1гб - то доцільно.
WindowsServer 2003R2 Enterprise ..... сумнівно що ліцензія, тоді вже класти WindowsServer 2012р2, тоді буде ще доцільніше.

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (c) ...
Этот пост выражает мнение партнера АБ-Системы, и является совокупностью идей, мыслей, предложений пользователей АБ-Офиса.


Профиль WWW
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 29 ]  На страницу 1, 2  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware.
Русская поддержка phpBB