Выявление узких мест в системе

Discussion in 'Безопасность и Анонимность' started by faust45, 9 Dec 2006.

Thread Status:
Not open for further replies.
  1. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    В общем проблема такая

    Значит есть сервак под Линухом На нем крутятся два основных демона на Яве писаных
    Ну и всяких стандартных прог типа ТомСат Apache MySql

    На серваке соит система по сбору статистики с Web интерфейсом.

    Статистика по Load (общая средняя загрузка системы)временами колеблится от 1.5 до 3(как мне обьяснил начальник ето не есть хорошо)

    Статистика по простою проца говорит что 70% он нифга не делает.



    Задача найти узкие места.


    Во первых у меня вопрос
    Может кто знает какая загрузка системы птимальна и как считается етот параметр load average
    Во вторых
    подскажите пожалуйста направления поиска решений проблемы
    (я с подобным сталкиваюсь в первые)


    Как я понял load average ето среднее число процессов, находящихся в состоянии выполнения (R) или в состоянии ожидания (D).

    R - процесс выполняется или готов к выполнению (состояние готовности)
    D - процесс в "беспробудном сне" - ожидает дискового ввода/вывода
    T - процесс остановлен (stopped) или трассируется отладчиком
    S - процесс в состоянии ожидания (sleeping)
    Z - процесс-зобми

    Тоесть проблема в том что несколько процессов ожидают освобождения ресурса "диск" или ещё какого ресурса(так я понял).

    Подскажите пожалуйста как как вести раследование.
    (как вычислить критические процессы и ресурсы)
    или чего ещё

    Ну в общем есле есть у кого какие соображения пожалуста пишите(Потаму что я в етом совсем глух).

    Заранее благодарен.
     
    1 person likes this.
  2. И.Г.

    И.Г. Elder - Старейшина

    Joined:
    29 Aug 2006
    Messages:
    336
    Likes Received:
    343
    Reputations:
    111
    такое чувство что это кто то из редакторов журналов компьютерной тематике решил упростить себе задачу запостив сюда письмо читателя, в надежде что на него ответят :)
     
  3. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    Прошу прощения есле моя просьба вам показалась наглой
    Просто в первые сталкнулся с подобным
    есле вам не трудно то дайте пожалуйста ссылки или скажите что почитать
     
  4. TaNkist

    TaNkist Elder - Старейшина

    Joined:
    6 Apr 2006
    Messages:
    147
    Likes Received:
    47
    Reputations:
    19
    Уровень загрузки системы в количестве процессов, ждущих своего исполнения за последние 5, 10, 15 минут. Насколько я знаю нагрузка 5-6 означает, что система нагружена на 100%/
    Для выявления узких мест испорльзуй утилиту top (процесс наиболее активно грузящий систему отобразится сверху, и будет иметь большие значения в колонках TIME и CPU), а также утилиты из семейства *stat.
    Просто вопрос составлен грамотно
     
  5. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    Спасибо вам за ответ TaNkist

    А ждут они свое исполнения в связи тем что некий ресурс занят(я так понимаю. может ошибаюсь незнаю)

    Да я смотрел top и там есть жирный процесс по всем параметрам: java
    Но как выяснит освобождения каких ресурсов ждут процесы(есле конечно в етом проблема).

    Может чтото ещё нужно выяснить ???
     
  6. dd_root

    dd_root New Member

    Joined:
    28 Nov 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Понажимай когда сидишь в топе shift+m и shift+p.
    Первое покажет загрузку по процу, второе по памяти.
    Определи что у тебя выжираеться - проц или память и каким процессом.
    Так же посмотри есть ли свободная оператива (не юзаеться ли своп виснта)
    free- m (выведет данные по всей памяти что есть)
    vmstat 5 выведет количестко ображений в винту каждые 5 секунд. там даже видно свопиться ли система или просто данные с винта тащит.
    mysqladmin processlist покажет сколько подключений и к каким базам в данных момент происходит к мускулю.
    Тут ищи операции "copy to tmp table" и "locked". Первая операция при большом количестве запросов на одну базу память выжирает, а вторая указывает либо на битость базы, либо на вложенные ображения к базе, что тоже может выжирать память.
    Короче, почитай маны с описание этих команд чтобы понять что на что указывает. Советую попробовать ещё одну утилитку "atop" - если ты на машине ядро с её поддержкой скомпилишь, то в ней же можно будет посмотреть загрузку винта.
     
  7. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    Спасибо вам буду пробывать
     
  8. faust45

    faust45 Member

    Joined:
    2 Mar 2006
    Messages:
    42
    Likes Received:
    7
    Reputations:
    -5
    http://openlib.org.ua/ru/books/id/81/

    То что нужно !!!
     
Thread Status:
Not open for further replies.