Основная особенность, которой чаще всего не хватает большинству методологий и которой заведомо недостает случайной настройке, — это определение
конкретных, разумных, достижимых целей. Без задания реальных ориентиров нельзя узнать, достигнуты ли пользовательские ожидания, можно ли на этом завершить работу и позволить себе порадоваться.
Прежде чем начать любую настроечную деятельность, организуйте встречу с
заказчиками/пользователями и согласуйте с ними конкретные и разумные цели
по производительности. Это не только поможет определиться с моментом
окончания работы, но и облегчит выполнение эталонного тестирования и со-
гласованных измерений производительности. Самое главное в установлении
целей: они должны быть количественно измеримыми и достижимыми. Заявле-
ние типа: "Этот запрос выполняется слишком медленно" просто не имеет смыс-
ла. Может быть, достаточно указать, что сейчас запрос выполняется за один час
двадцать минут, но заказчику нужно, чтобы время сократилось до десяти минут.
Или же для оптимизации необходимо знать, что операция требует де-
заказчиками/пользователями и согласуйте с ними конкретные и разумные цели
по производительности. Это не только поможет определиться с моментом
окончания работы, но и облегчит выполнение эталонного тестирования и со-
гласованных измерений производительности. Самое главное в установлении
целей: они должны быть количественно измеримыми и достижимыми. Заявле-
ние типа: "Этот запрос выполняется слишком медленно" просто не имеет смыс-
ла. Может быть, достаточно указать, что сейчас запрос выполняется за один час
двадцать минут, но заказчику нужно, чтобы время сократилось до десяти минут.
Или же для оптимизации необходимо знать, что операция требует де-
сяти сортировок на диске, но хотелось бы, чтобы она производилась вообще без дисковых сортировок.
Если не удается сделать подобное заявление, нельзя определить, в чем состоит цель предпринимаемых действий. Настройку без точной цели можно сравнить с вождением автомобиля, когда вы не определили, куда хотите ехать. Все, чего вам удастся добиться, будет заключаться в обогащении одной из близлежащих бензоколонок и большом личном вкладе в повышение температуры на нашей планете.
Примечание
Ваша цель должна быть определена в виде утверждения, в котором зафиксирована текущая и желательная производительность. Для этого вставьте значения в пустые места приведенного ниже бланка.
Для выполнения требуется.
(часов/минут/секунд), но нам нужно, чтобы оно выполнялось за _
(часов/минут/секунд).
Для выполнения требуется (количество ресурса),
но оно не должно использовать более .
Итак, мишень известна. Прицелься и стреляй!
Количественное определение требуемых значений производительности дает направление — что настраивать, как, когда, до какой степени и, что еще важнее, когда прекратить настройку. Некорректно заданные ориентиры приводят к бесцельной трате времени на настройку системы без значимого и измеримого выигрыша.
Теперь, приступая к работе над формулировкой целей, прислушайтесь к нашему совету. Заказчику может потребоваться помощь в раскрытии его истинных деловых нужд. Как можно распознать или отмести нереалистичные параметры производительности или деловые потребности? В реальной жизни некоему крупному клиенту захотелось сократить время выполнения одного из пакетных заданий с восьми часов до одного, мотивируя это производственной необходимостью. Тесты показали, что реализующее это пакетное задание приложение от стороннего поставщика ПО может быть разделено на следующие
три этапа:
1. Чтение базы данных, по результатам которого заполняются некоторые
таблицы в памяти
2. Вычислительная часть (работает только ЦП), обрабатывающая эти
таблицы
3. Обратная запись в базу данных
Когда было показано, что эта такая цель недостижима даже с помощью лучших (в своем роде) систем из-за внутренней рабочей нагрузки, заказчик изменил требования. Предложенные усовершенствования довели продолжительность первой части (чтение базы данных) приблизительно до получаса, но способ сокращения второй (вычислительной) части менее чем до двух часов найти так и не удалось. Было очень важно показать,
почему
задание в целом не может быть выполнено менее чем за полчаса, а разделение задания на логические части помогло изменить пользовательские ожидания.Многие пользователи требуют от своих АБД поддерживать такие высокие коэффициенты и немыслимое время реакции, каких просто невозможно добиться. Это одна из тех тихих заводей с водоворотами, которая может поглотить ваш ленч. Необходимо пробиться через все подводные течения и понять, в чем их опасность, чтобы помочь вашим клиентам установить разумную цель. Не все операции, выполняемые системой, должны быть выполнены со временем реакции не более одной секунды.
< Предыдущая | Следующая > |
---|