Xgu.ru теперь в Контакте  — приходите и подключайтесь.
Пока мы работаем над следующими видео, вы можете подключиться в Контакте. Познакомимся и обсудим новые страницы и ролики.

Vk-big.pngYoutube-big.jpeg

Web polygraph User manual

Материал из Xgu.ru

Перейти к: навигация, поиск


Содержание

[править] Руководство пользователя

Руководство пользователя содержит подробные пошаговые инструкции для основных применений Polygraph, а также для измерения производительности и советы по устранению проблем.

Используйте меню слева для навигации по документации.


[править] Простые тесты

[править] 1. Для нетерпеливых

polysrv \
    --config /usr/local/polygraph/workloads/simple.pg \
    --verb_lvl 10
polyclt \
    --config /usr/local/polygraph/workloads/simple.pg \
    --verb_lvl 10
# watch console output then kill polysrv and polyclt


[править] 2. Введение

Пакет Polygraph включает в себя программы, имитирующие клиента и сервера, называются они соответственно polyclt и polysrv. Вам нужно запустить обе программы, чтобы имитировать требуемую нагрузку. Сервер(ы) должны быть запущены первыми. Мы рассмотрим вывод команд polysrv (polyclt), а затем polysrv (polyclt), выдаваемых на наш экран.

Для упрощения, мы запустим и клиент, и сервер на одном компьютере. Чтобы запустить нижеприведённые тесты, ваша система должна принимать соединения к себе с помощью IP-адреса 127.0.0.1. Если вы хотите запустить Polygraph на других портах (?!) IP-адресах, вам нужно соответственно изменить файлы конфигурации.

Тесты Polygraph'а (workloads) задаются с помощью опций командной строки и файлов конфигурации, написанных на Языке Polygraph'а (PGL).


[править] 3. Hello, world

Этот простой тест покажет нам базовые возможности Polygraph'а.

В своей поставке, Polygraph уже содержит простой пример нагрузки. Его можно найти в в файле simple.pg. Другие рабочие примеры нагрузки можно найти в директории polygraph/workloads/.

Обычно, описание нагрузки (workload) включает в себя несколько фаз (phases). Polygraph останавливается, когда все фазы достигнут своей цели. Для этого простого теста, мы используем стандартную фазу, которая не имеет какой-либо цели. Поэтому мы прервём polyclt и polysrv вручную, нажав ^C или послав сигнал прерывания.

Давайте запустим сервер.

> polysrv \
    --config /usr/local/polygraph/workloads/simple.pg \
    --verb_lvl 10
000.00| Content distribution on server S101:
        content        planned%         likely%          error%
   some-content          100.00          100.00            0.00
expected average cachability: 80.00%
expected average object size: 13331.30Bytes

bin/polysrv: warning: no run phases were specified; ...
000.00| fyi: no bench selected with use(); ...
000.01| Command: polysrv 
    --config /usr/local/polygraph/workloads/simple.pg --verb_lvl 10
000.01| Configuration:
    version:            2.6.0b5
    host_type:          i386-unknown-freebsd3.4
    verb_lvl:           10
    dump:               <none>
    dump_size:          1.000KB
    notify:             <none>
    label:              <none>
    fd_limit:           15878
    config:             /usr/local/polygraph/workloads/simple.pg
    cfg_dirs:           
    console:            -
    log:                <none>
    log_size:           -1
    sample_log:         <none>
    sample_log_size:    -1
    stats_cycle:        5.00sec
    sync_phases:        on
    file_scan:          poll
    priority_sched:     5
    new_oids_per_msg_max:16
    fake_hosts:         
    idle_tout:          5.00min
    rng_seed:           1
    unique_world:       on
    new_oids_history:   2048
    ign_urls:           off
000.01| Phases:
     phase load_beg load_end  rec_beg  rec_end smsg_beg smsg_end     goal
      dflt     1.00     1.00     1.00     1.00     1.00     1.00 <none>    

000.01| StatsSamples:
    static stats samples:   0
    dynamic stats samples:  0

000.01| FDs: 16384 out of 16384 FDs can be used; safeguard limit: 15878
000.01| resource usage: 
    CPU Usage: 7msec sys + 1.52sec user = 1.53sec
    Maximum Resident Size: 7.922MB
    Page faults with physical i/o: 0

000.01| group-id: 0480bcf4.2e7d019d:00000002 pid: 413
000.01| current time: 987891522.111529 or Sat, 21 Apr 2001 22:18:42 GMT
000.01| fyi: PGL configuration stored (3054bytes)
000.01| fyi: current state (1) stored
000.01| starting 1 HTTP agents...
000.01| starting S101[1 / 0480bcf4.2e7d019d:00000004] 
    on 127.0.0.1:9090
000.10| i-dflt      0   0.00     -1  -1.00   0    1
000.18| i-dflt      0   0.00     -1  -1.00   0    1
000.26| i-dflt      0   0.00     -1  -1.00   0    1
000.35| i-dflt      0   0.00     -1  -1.00   0    1
...


Как вы видите, процесс polysrv создал один агент сервера, привязанный к 127.0.0.1, порт 9090. Polysrv выдал сообщение о том, что не нашёл фазы в simple.pg и сгенерировал бесконечную фазу «default». Пока не будет запущен клиент, текущая статистика будет состоять из нулей. Для того, чтобы подробнее узнать о выводимых на консоль значениях, посмотрите здесь.

Polysrv ничего не будет делать до тех пор, пока мы не запустим клиент. Вам нужно будет открыть новое окно или виртуальный терминал, чтобы получить доступ ко второй командной строке.

> polyclt \
    --config /usr/local/polygraph/workloads/simple.pg \
    --verb_lvl 10
000.00| Content distribution on server S101:
        content        planned%         likely%          error%
   some-content          100.00          100.00            0.00
expected average cachability: 80.00%
expected average object size: 13331.30Bytes

bin/polyclt: warning: no run phases were specified; ...
000.00| fyi: no bench selected with use(); ...
000.01| Command: bin/polyclt --config workloads/simple.pg --verb_lvl 10
000.01| Configuration:
    version:            2.6.0b5
    host_type:          i386-unknown-freebsd3.4
    verb_lvl:           10
    dump:               <none>
    dump_size:          1.000KB
    notify:             <none>
    label:              <none>
    fd_limit:           15878
    config:             /usr/local/polygraph/workloads/simple.pg
    cfg_dirs:           
    console:            -
    log:                <none>
    log_size:           -1
    sample_log:         <none>
    sample_log_size:    -1
    stats_cycle:        5.00sec
    sync_phases:        on
    file_scan:          poll
    priority_sched:     5
    new_oids_per_msg_max:16
    fake_hosts:         
    idle_tout:          <none>
    rng_seed:           1
    unique_world:       on
    proxy:              <none>
    ports:              <none>
    icp_tout:           2.00sec
    new_oids_prefetch:  256
    ign_false_hits:     on
    ign_bad_cont_tags:  off
    prn_false_misses:   off
000.01| Phases:
     phase load_beg load_end  rec_beg  rec_end smsg_beg smsg_end     goal
      dflt     1.00     1.00     1.00     1.00     1.00     1.00 <none>    

000.01| StatsSamples:
    static stats samples:   0
    dynamic stats samples:  0

000.01| FDs: 16384 out of 16384 FDs can be used; safeguard limit: 15878
000.01| resource usage: 
    CPU Usage: 23msec sys + 1.51sec user = 1.53sec
    Maximum Resident Size: 8.203MB
    Page faults with physical i/o: 18

000.01| group-id: 0480bd09.3a2501a0:00000002 pid: 416
000.01| current time: 987891543.872993 or Sat, 21 Apr 2001 22:19:03 GMT
000.01| fyi: PGL configuration stored (3054bytes)
000.01| fyi: current state (1) stored
000.01| starting 1 HTTP agents...
000.01| starting R101[1 / 0480bd09.3a2501a0:00000004] on 127.0.0.1
000.01| fyi: server scan completed with all local robots ready ...
000.10| i-dflt   3296 659.19      1   0.00   0    2
000.18| i-dflt   6585 657.79      1   0.00   0    2
000.26| i-dflt   9891 661.19      1   0.00   0    2
000.35| i-dflt  13109 643.54      1   0.00   0    2
000.43| i-dflt  16380 654.05      1   0.00   0    2
000.51| i-dflt  19667 657.29      1   0.00   0    2
000.60| i-dflt  22972 660.94      1   0.00   0    2
000.68| i-dflt  26228 651.18      1   0.00   0    2
000.76| i-dflt  29500 654.33      1   0.00   0    2
000.85| i-dflt  32775 654.91      1   0.00   0    2
000.93| i-dflt  35992 643.38      1   0.00   0    2
001.01| i-dflt  39223 646.19      1   0.00   0    2
001.10| i-dflt  42479 651.19      1   0.00   0    2
001.18| i-dflt  45687 641.55      1   0.00   0    2
001.26| i-dflt  48954 653.37      1   0.00   0    2
001.35| i-dflt  52189 646.95      1   0.00   0    2
001.43| i-dflt  55418 645.79      1   0.00   0    2
001.51| i-dflt  58691 654.51      1   0.00   0    2
001.60| i-dflt  61955 652.77      1   0.00   0    2
001.68| i-dflt  65304 669.72      1   0.00   0    2
001.76| i-dflt  68593 657.71      1   0.00   0    2
...