RUSSIAN

Настройка производительности UNIX-систем

Book information

Publisher
Символ-Плюс
Year
2003
Language
russian
Format
PDF
Filesize
3 MB (2943812 bytes)
Series
O'REILLY
Edition
2
Pages
408\408
Time added
2021-12-13 03:54:30

Description

Перевод Ю.Кунивера. Книга «Настройка производительности UNIX?систем» отвечает на два важнейших вопроса: как добиться максимального эффекта без покупки дополнительного оборудования и в каких случаях его все же стоит приобрести (больше памяти, более быстрые диски, процессоры и сетевые интерфейсы). Вложение денежных средств – не панацея. Адекватно оценить необходимость обновления и добиться максимальной производительности можно только хорошо представляя работу компьютеров и сетей и понимая распределение нагрузки на системные ресурсы. Авторы книги оказали неоценимую помощь администраторам, подробно и аргументированно рассказав обо всех тонкостях искусства настройки систем. Полностью обновленное издание ориентировано на Solaris и Linux, но обсуждаемые принципы применимы к любым системам. В книге рассматриваются настройка параметров, управление рабочим процессом, методы измерения производительности, выявление перегруженных и неработоспособных участков сети, добавлен новый материал о дисковых массивах, микропроцессорах и оптимизации программного кода. Оглавление Предисловие Для кого написана эта книга Охват книги Как читать эту книгу Эта книга как рассказ Эта книга как справочник Структура книги Соглашения по оформлению Комментарии и вопросы Благодарности Джан-Паоло Мусумеси Благодарности Майка Лукидеса Глава 1. Введение в настройку производительности Введение в архитектуру компьютера Уровни представления Модель фон Неймана Кэши и иерархия памяти Выгоды 64-разрядной архитектуры Принципы настройки производительности Принцип 0: следует хорошо понимать свою операцион Принцип 1: БСНБ! Принцип 2: пропускная способность против времени Принцип 3: не перегружайте ресурсы Принцип 4: при проведении экспериментов необходим Настройка статической производительности Проверка всякой всячины Заключение Глава 2. Управление рабочим процессом Определение параметров рабочего процесса Простые команды Учет процессов Автоматизация работы sar Виртуальный Адриан Анализ конфигурации сети Регулирование рабочей нагрузки Обучение Ограничения, налагаемые на пользователей Сложные операционные среды Оценка производительности MIPS и megaflops Компоненто-зависимые тестовые программы Оценка коммерческой рабочей нагрузки Тестовые программы пользователя Заключение Глава 3. Процессоры Архитектура микропроцессора Тактовые частоты Конвейерная обработка Второе поколение конструкций процессоров RISC Кэширование Иерархия кэша Организация и работа кэша Ассоциативность Локальность и «кэш-нарушители» Неправильность размера кэша Планирование процессов Модель System V: модель Linux Многоуровневые классы планирования: модель Solari Многопроцессорная обработка Взаимодействие процессоров Параллельная обработка в операционных системах Потоки Блокирование Влияние кэша на производительность многопроцессор Периферийные соединения SBus PCI Итог по периферийным соединениям Прерывания в Linux Прерывания в Solaris Инструменты для контроля производительности проце Средняя нагрузка Очереди процессов Разбивка времени процессора Многопроцессорные системы top и prstat Статистика блокировок Управление процессорами в Solaris Инструменты для контроля производительности периф Расширенная статистика производительности процесс Заключение Глава 4. Память Реализации физической памяти Архитектура виртуальной памяти Страницы Сегменты Оценивание необходимой памяти Размещение адресного пространства Свободный список Окрашивание страниц Буферы быстрой переадресации (TLB) Пейджинг и свопинг Закат и упадок интерактивной производительности Пространство свопинга Потребители памяти Кэширование в файловой системе Записи из кэша файловой системы: fsflush и bdflus Взаимодействия между кэшем файловой системы и пам Взаимодействия между кэшем файловой системы и дис Инструменты для измерения производительности памя Измерение производительности памяти Исследование потребления памяти в масштабе всей с Сколько памяти потребляют процессы Инструменты Linux Заключение Глава 5. Диски Архитектура диска Типы доступа Считывания Записи Характеристики производительности Интерфейсы IDE IPI SCSI Fibre Channel IEEE 1394 (FireWire) Universal Serial Bus (USB) Общие проблемы производительности Сильный дисбаланс ввода-вывода Взаимодействия память-диск Длительное время обслуживания Файловые системы vnodes, inodes и rnodes UNIX Filesystem (UFS) Файловые системы с протоколированием Вторая расширенная файловая система (EXT2) Третья расширенная файловая система (ext3) Файловая система Рейзера (ReiserFS) Journaled Filesystem (JFS) Временная файловая система (Temporary Filesystem, Veritas VxFS Кэширующие файловые системы (CacheFS) Инструменты для анализа Включение дисковых кэшей Измерение дисковой производительности Второй раз быстрее? Применение iostat Применение sar Мониторинг ввода-вывода Заключение Глава 6. Дисковые массивы Терминология Уровни RAID RAID 0: разбивка на блоки (striping) RAID 1: зеркалирование RAID 2: массивы с кодом Хэмминга (Hamming Code) RAID 3: разбивка на блоки с защитой по четности RAID 4: разбивка на блоки с защитой по четности и RAID 5: разбивка на блоки с участками четности, р RAID 10: зеркалированная разбивка на блоки Сравнение программных и аппаратных реализаций RAI Программное обеспечение Аппаратные средства Итог по конструкциям дисковых массивов Выбор уровня RAID Программные реализации RAID Solaris: Solstice DiskSuite Linux: md Рецепты RAID Домашние каталоги, отличающиеся интенсивным обращ Домашние каталоги, вовлеченные в обработку большо Высокопроизводительные вычисления Базы данных Конкретный случай: приложения, выполняющие большо Заключение Глава 7. Сети Основы сетей Модель OSI Физические носители UTP Оптоволокно Сетевые интерфейсы Ethernet FDDI ATM Сравнение Ethernet и ATM/FDDI Сетевые протоколы IP TCP UDP Сетевой транспорт: TCP или UDP NFS Описание операций NFS Настройка клиентов Настройка серверов Глобальные сети и NFS CIFS и UNIX Заключение Глава 8. Оптимизация кода Два важнейших принципа Алгоритмы поиска в строке Ловушки оптимизации Методы анализа кода Измерение времени работы приложения: time, timex Участки кода, относящиеся к измерению времени Анализ с помощью проб: Solaris TNF Анализ на основе профилирования: gprof Примеры оптимизации Арифметика Циклы Строки Взаимодействие с компиляторами Типичная оптимизация: -fast Уровень оптимизации: -xO Задание структуры системы команд: -xarch Задание архитектуры процессора: -xchip Встраивание функций: -xinlining и -xcrossfile Анализ взаимосвязи данных: -xdepend Векторные операции: -xvector Размер по умолчанию констант с плавающей точкой: Упреждающая выборка данных: -xprefetch Поверхностный обзор ключей компилятора Применение профилирования для получения обратной Заключение Глава 9. Первоочередная настройка Горячая пятерка советов по настройке Где узкое место дисковой подсистемы? Достаточно ли памяти в системе? Не перегружены ли процессоры? Не блокируются ли процессы при дисковом вводе-выв Системное время намного больше пользовательского? Рецепты первоочередной настройки Однопользовательская рабочая станция разработчика Серверы рабочих групп Веб-серверы Алфавитный указатель

Similar books