5.1 Oбзор оптимизации
5.1 Oбзор оптимизации
Чтобы увеличить скорость системы, необходимо, разумеется, прежде всего разбираться в ее конструкции. Кроме того, нужно знать, какие функции будет выполнять система и какие "узкие места" в ней имеются.
Ниже приведен список наиболее часто встречающихся "узких мест":
- Поиск данных на диске. Чтобы найти на диске какой-то фрагмент данных,
требуется некоторое время. Для устройств выпуска 1999 года среднее
время поиска составляет менее 10мс, так что теоретически можно
выполнять приблизительно 100 операций поиска в секунду. Это время
можно ненамного уменьшить, заменив диски более новыми. Для одной
таблицы поиск на диске оптимизировать очень сложно. Такую оптимизацию
можно выполнить путем распределения данных по нескольким дискам. - Дисковое чтение/запись. После выполнения поиска, когда найдена соответствующая позиция на диске, мы можем считать данные. Для устройств выпуска 1999 года производительность одного диска составляет около 10-20Мб/с. Дисковое чтение/запись легче оптимизировать, чем дисковый поиск, поэтому читать можно параллельно с нескольких дисков.
- Циклы процессора. Когда мы помещаем данные в основную память (или если они уже находятся там), мы должны обработать их, чтобы получить результат. Наличие маленьких по сравнению с объемом ОЗУ таблиц - наиболее часто встречающийся лимитирующий фактор. Но в этом случае, в общем-то, скорость обработки маленьких таблиц значения не имеет.
- Пропускная способность ОЗУ (memory bandwidth). Когда процессору требуется больше данных, чем может вместить его кэш, узким местом становится пропускная способность памяти. В большинстве систем это узкое место встречается редко, однако о нем нужно знать.