Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Повышение производительности

Заратустра

Спецвыпуск: Хакер, номер #052, стр. 052-050-1


Общие рекомендации по оптимизации

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

В общем случае производительность БД зависит от множества факторов. Наиболее значимые из них:

- cервер баз данных;

- параметры настройки SQL-сервера;

- аппаратные средства;

- структура базы данных;

- операционная система (сервер и клиент);

- межпрограммные (middleware) средства;

- сетевые аппаратные средства и полоса пропускания (LAN и WAN);

- количество клиентов;

- тип деятельности клиентов;

- тип и количество данных.

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

Еще одна проблема - сложность выбора между производительностью и гибкостью настройки сервера БД и операционной системы. Выбрать оптимальную конфигурацию тоже непросто, так как многие настройки связаны между собой. К твоим услугам множество источников по способам повышения производительности БД серверов, но не всем рекомендациям можно доверяться. Предпринимай любые действия учитывая конкретный случай и требования, которые предъявляют тебе.

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

Аппаратные средства

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

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

Содержание  Вперед на стр. 052-050-2