Основные факторы, влияющие на низкую производительность

Оценить
(0 голоса)
К сожалению, хорошая производительность представляет собой цель, которую необходимо достичь, а не неотъемлемое конституционное право. И существует множество потенциальных ловушек на пути к этой цели. Некоторыми из наиболее распространенных проблем в средах серверов БД являются следующие: •             Несоответствующие аппаратные средства. •             Проблемы проектирования внутренней архитектуры операционной системы. •             Неудачно разработанные приложения и в том числе плохо написанные операторы языка SQL. •             Проблемы с пользовательским окружением. •             Неэффективность внутренней архитектуры в используемой СУБД. •             Неудачное размещение данных. •             Неудачный проект БД и его реализация, включая схему, выбор индексов и т.д. •             Настройка операционной системы. •             Настройка БД. В данной главе будут…
Оценить
(0 голоса)
Не принимайте решения о том, что ваши аппаратные средства имеют несоответствующую конфигурацию до тех пор, пока не будут исключены другие возможные причины. Проблемы, связанные с прикладными программами, могут быть основными причинами проблем производительности, и они представляют собой превосходную отправную точку для исследования. Начните с понимания имеющихся ограничений. Если только вы не являетесь разработчиком ядра, работающим для фирмы Sun или Oracle, то вы вероятно не сможете изменить внутреннюю архитектуру операционной системы или СУБД, так что исключите подобного рода амбиции из своего контрольного списка. Имеет смысл сосредоточиваться на тех проблемах, которые вы можете устранить, и обходить сто- роной проблемы, с которыми вы…
Оценить
(0 голоса)
Воздействие неудачно разработанного приложения на производительность может быть поистине удивительным. В крайних случаях производительность может значительно ухудшиться. Однажды на сайте одного из клиентов для испытания нового приложения под нагрузкой использовался эмулятор дистанционного терминала. При небольшом количестве пользователей система "вела себя" как обычно, но стоило лишь увеличиться нагрузке, как время отклика резко возросло, а производительность замедлилась до полного останова. В конечном счете удалось обнаружить причину этой проблемы после того, как было зафиксировано большое количество системных вызовов fork. Приложение протоколировало каждую транзакцию БД; в журнале фиксировались временная метка и номер терминала (tty), с которого подключался пользователь. Разработчик, который составил функцию протоколирования транзакций,…
Оценить
(0 голоса)
Превосходный с логической точки зрения проект может оказаться неэффективным при работе в условиях реальной нагрузки. Приходилось видеть примеры, когда широко используемый порядковый номер считывался и наращивался из одной и той же строки БД, к которой выполнялись интенсивные обращения, становясь в результате причиной "узкого места" производительности. Интенсивные операции вставки в таблицы также могут вызывать проблемы. Некоторые первоначальные инвестиции в профилирование производительности обычно стоят затраченных усилий также, как и независимый анализ опытных консультантов.
Оценить
(0 голоса)
Настройки пользовательского окружения (обычно они устанавливаются с помощью конфигурационных файлов .login, .cshrc или .profile) могут не показаться таким уж очевидным местом для того, чтобы искать здесь проблемы производительности. И все-таки система может быть повреждена неудачно созданными переменными окружения. В качестве примера можно привести случай, когда один из клиентов фирмы Sun был не в состоянии одновременно зарегистрировать 100 пользователей на своем сервере. Проблема, как оказалось, была заключена в переменной окружения PATH. Основные прикладные программы были размещены на другом сервере, доступ к которому осуществлялся с помощью автомонтировщика. Переменная окружения PATH сначала содержала указания на несколько различных, автоматически монтируемых каталогов и только после…
Оценить
(0 голоса)
Мы уже рассматривали необходимость тщательно спланированной стратегии размещения данных. Значение неудачных решений в данном случае нетрудно себе представить, тем более, что с ними так часто сталкиваются на практике! Если речь идет об использовании серийного программного обеспечения, то вам возможно и не потребуется настраивать свои приложения или схему БД. И даже если выполняется разработка собственного программного обеспечения, то вовсе не является ни реалистичным, ни необходимым добиваться идеальной производительности посредством настройки приложений и схемы БД. Правило 80/20 тоже применяется здесь, как в любом другом случае: 80 процентов усилий по настройке могли бы быть затрачены на то, чтобы добиться повышения производительности приложений на…