Почему база данных на локальном компьютере часто работает быстрее, чем на сервере |
В этой статье будет рассмотрен вопрос быстродействия выполнения регламентных работ с базой данных, таких, как восстановление последовательности, групповая обработка документов, пересчет итогов и др. Т.е. речь пойдет об операциях, выполняемых, как правило, в монопольном режиме работы 1С Сразу же договоримся о том, что выведем за пределы формулы производительность сети, а сравнивать будем производительность работы Итак, с чего начнем? Для начала представим себе аппаратное обеспечение среднестатистического сервера баз данных для 1С Теперь рассмотрим типовую машину разработчика. Как правило, это компьютер на базе Intel P4 - 2400-3200ГГц Итак, начнем сравнивать. Для начала сравним процессоры и подсистему памяти. Исторически так сложилось, что процессорные технологии серверов следуют с опозданием за десктопными машинами. Если сейчас серийно продаваемый процессор для рабочего места – P4 Prescott с 512 Кб Память, доступная для серверов и рабочих станций, тоже отличается. Как правило, на сервере работает память DDR200 - DDR266 Объем памяти установленный на компьютере имеет значение, но не решающее. В нашем случае 1 Наконец, рассмотрим и сравним дисковые подсистемы. На сервере у нас аппаратное зеркало, или RAID-5 Особенностью регламентных работ для дисковой подсистемы является большой процент запросов на запись из общего количества дисковых операций, таким образом, если на сервере используется массив, чувствительный к запросам на запись (это RAID-5 Теперь подведем итоги и сделаем выводы. Итак, в чем преимущество сервера: в большем объеме памяти, но не в скорости ее работы, и, при правильно выбранных и настроенных параметрах, в большей производительности дисковой подсистемы. Теперь применим эту информацию к реальной задаче – будь то восстановление последовательности, обработка документов или др. В зависимости от алгоритма, процесс будет в большей степени либо в процессорной частоте, либо в быстродействии и количестве памяти, либо в скорости дисков. Таким образом, вполне возможна ситуация, когда быстрее работает не сервер, а рабочая станция, в силу вышеописанных особенностей. Повторюсь, что это зависит в первую очередь от характеристик выполняемой задачи. Если же еще принять условие, что процесс будет выполняться не ночью или в выходные, т.е. в нерабочее время, а, наоборот, среди дня, то из-за занятости сервера обслуживанием других задач мы можем получить низкую производительность нашей задачи даже на более или менее мощном сервере. Отсюда следует, что, если необходимо выполнить какую-то ресурсоемкую регламентную задачу с одной из баз, часто быстрее будет проделать ее не на сервере, а локально, на десктопе (например, компьютере разработчика), избежав падения производительности работы, как самой задачи, так и снижения производительности сервера в других задачах.
Перепечатка, воспроизведение в любой форме, распространение, в том числе в переводе, любых материалов с сайта www.softpoint.ru возможны только с письменного разрешения компании "СофтПоинт". Это правило действует для всех без исключения случаев, кроме тех, когда в материале прямо указано разрешение на копирование (основание: Закон Российской Федерации "Об авторском праве и смежных правах"). |