Выбор диска и расположение базыИсточник: Accessboom
Для начала набитая оскомину рекомендация - самый быстрый жесткий диск, на который только можете выделить средства. Диски со скоростью вращения 5400 совершенно нежелательны, минимум 7200, а лучше 10000 - сейчас такие IDE диски уже есть в продаже. Есть возможность - берите диски с интерфейсом SATA, но тут и либо материнская плата должна их поддерживать либо ставить отдельный контроллер. Есть возможность - собирайте RAID-массив на отдельном аппаратном контроллере. RAID 5 вообще самая лучшая возможность повысить скорость дисковых операций и не беспокоиться о надежности - надо стремиться именно к нему ;). Правда, тут уже возникают серьезные требования к блоку питания - тянуть несколько дисков (RAID5 состоит из минимум 3 дисков). В общем-то такие компьютеры не собирают на коленке ;) и они отвечают изначально требованиям надежности и отказоустойчивости, называются солидно серверами и стоят сумасшедших денег ;) Понятно, что не у всех есть возможность приобретать такие скоростные игрушки, хотя стоят они сейчас очень недорого (сравнительно). Будем советовать, что можно выжать из имеющегося оборудования. Если есть два диска, например 5400 и 7200, ставьте Windows на более медленный, а более быстрый на отдельном контроллере IDE приберегите для базы. При наличии достаточной оперативной памяти (512Мб и выше) Windows практически не будет обращаться к диску за своими системными файлами, а вот считывание данных с диска 7200, висящего на своем отдельном контроллере (не вешайте оба диска на одном шлейфе) будет благотворно сказываться на производительности... Одна маленькая фишка, если на компьютере есть CD-ROM, не вздумайте вешать его вместе с быстрым диском (с базой) на один шлейф - повесьте его к тому диску (медленному) на котором стоит система. Общая рекомендация - диск с данными должен находиться один на отдельном контроллере IDE (шлейфе). Естественно, диск надо отформатировать под NTFS (надежно!) и положить туда сразу Вашу базу. Этот нехитрый трюк позволит расположить базу данных физически на крайних дорожках диска (ну или почти на крайних, все таки MFT NTFS'a сам занимает крайние дорожки ;). Больше ничего на диск 7200 не записывайте, чтобы уменьшить размазывание по диску новых записей. Расточительно ? Немного... Зато много производительнее ! Под NTFS есть пара особенностей - производительность считывания-записи начинает заметно снижаться, когда половина диска уже заполнена и драматически падать, когда заполнено 90 процентов пространства.... В принципе, файловая система FAT32 быстрее, но намного ненадежнее! поэтому я бы советовал избегать использования FAT32. Что ??? диск всего один ?! Мдя... Будем советовать дальше ;) Делим диск на две части - С: и D:. Ставим систему на диск D:. Ежу понятно, что ни о каких там Windows'ах 95, 98, ME речь не идет - только Windows 2000, XP или серверные платформы. Так вот - ставим систему на диск D:, а диск C: размером, ну скажем так 5 Гб (я думаю должно хватить ;) форматируем и кладем на него Вашу базу данных. Опять же этим достигается физическое расположение базы близко к крайним дорожках диска и следовательно более высокая скорость записи-считывания... Больше НИЧЕГО на диск C: не кладем ! чтобы уменьшить негативное влияние неизбежной дефрагментации. Время от времени, я думаю не чаще чем раз в полгода (хотя все зависит от интенсивности добавления данных), диск C: (или если у Вас отдельный диск) с данными необходимо дефрагментировать, то есть просто форматировать (конечно, предварительно сохранив копию базы и ОБЯЗАТЕЛЬНО! убедившись в валидности копии) и заново переписать на него базу данных. Забудьте про дефрагментирование стандартным или сторонним дефрагментаторами - скажу я Вам по секрету ;) - это все ерунда под NTFS. Единственный правильный способ дефрагментирования диска - это форматирование диска ;) и новая перезаливка данных на него. Из данных, конечно, только сама Её Величество База Данных ;). Все свои любимые картинки, музычку и игрушки храните где-нибудь в другом месте и не на этом физическом диске ;). Да и еще, форматирование (только не быстрое, конечно) помогает выявить проблемы с разрушением магнитной поверхности HDD (так называемыми BAD-кластерами), лишний раз полная проверка всех секторов жесткого диска никогда не помешает. А теперь пристегните ремни ;). Хотите иметь диск, хоть и не большой (сравнительно, конечно), например 1 Гигабайт ;), но работающий быстрее в 30 раз по сравнению с самым быстрым, какой сможете найти ? Тогда втыкайте побольше ОЗУ в Ваш сервер баз данных или И.О. сервера ;). Начинаем разгоняться не по-детски. Например, с 1.5 Гигабайт ОЗУ легко можно организовать жесткий диск в оперативной памяти объемом в 1 Гиг (все зависит от размеров Вашей базы, необязательно такой большой). Ищем программку RamDisk XP Pro фирмы SuperSpeed Software. Вот она то и позволяет под Windows XP-2000 создавать в ОЗУ диски любой файловой системы и любого размера. По крайней мере мне глюков обнаружить не удалось. Все работает прекрасно и супер-быстро. (учтите, что от ОЗУ отрезается кусок под указанный Вами размер диска, следовательно, для функционирования Windows остается меньше). Но этот способ предъявляет требования к аппаратной части компьютера - любой сбой компьютера чреват полной (и моментальной!) потерей данных. Хотя... я думаю для сервера надо что-нибудь хорошее собирать ;) При выключении компьютера обязательно делать копирование информации на реальный диск (RamDisk XP Pro делает бэкап тупо, только по нажатию кнопочки, нет у него также BackUp'а по расписанию). Можно повесить .bat файл в групповые политики как реакция на завершение работы Windows, можно в планировщик (если подумать, то можно весьма толково настроить ;). Понятно, что на такой экстремальной конфигурации обязательно нужен хороший ИБП (чтобы времени хватало забекапиться, в том числе и автоматом), и резервное копирование информации каждые пару-тройку часов не помешает (оно вообще нигде не помешает). С другой стороны, бэкап работающей базы ? А вдруг там индексация идет ;) Всех выкидывать на этот момент ? Просто вечером после окончания работы можно....Ну это я так сам с собой ;) Несомненный плюс этого метода - уменьшение нагрузки на жесткий диск (при интенсивной работе многих пользователей головка мотается по диску беспрерывно). Хотя, наработки на отказ у современных дисков... не помню точно, но до пенсии хватит ;) Опять же RAID и fault tolerance тоже придуманы и получили коммерческую успешность не зря (просто тогда, когда изобретали эти технологии, ОЗУ была страшным дефицитом ;). В общем, решать Вам.....;) Хотя... операционные системы не глупо работают. Да и создатели Access тоже размышляют о производительности (хотя кто его знает, какие у них первоочередные задания ;). Упреждающее чтение, кеширование, отложенная запись современных операционных систем (особенно серверных) - все это позволяет эффективно использовать оперативную память как большой кэш для более быстрого оперирования данными. Можно с уверенностью сказать только одно - чем больше оперативной памяти и чем быстрее диск - тем лучше (производительнее) в любом случае... |