ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Benchmark хостинг а



        Привет.

        Посоветуйте, пожалуйста, команды, утилиты для
"бенчмаркинга" хостинга (nginx front/nginx+php_fastcgi/mysql).
После года разнообразного гемора при поднятии хостинга с нуля,
с почти нулевыми начальными знаниями накопилось желание
настроить один раз, качественно и хорошо. Поэтому хочется
"протвикать" всевозможные настройки ОС, софта.

        Железо:
Xeon 686 3.0GHz (с Hyper-Threading) 1 Гб памяти
        Есть такие строчки в dmesg.boot с ошибкой:
atapci1: <Intel 6300ESB SATA150 controller> port 0x...
atapci1: failed to enable memory mapping!
        Не знаю, насколько это плохо на уровне ядра, вообще
memory mapping файлов иногда удобен и полезен.
        ОС:
FreeBSD 6.0 (в ближайшие месяц-два планируется апгрейд до 6.2)
        Софт: ipfw, bind 9.3.1, proftpd 1.3.0rc2, sshd
(родной open, не ssh2 от ssh.com), nginx, php 5.1.6 with
Suhosin-Patch 0.9.6 cgi-fastcgi, mysql 4.1.13 portbld-freebsd6.0.

        На хостинге 3 внешних адреса, полтора десятка сайтов с
размером статики меньше 50Мб и базы меньше 1Мб. Есть, правда,
два сайта с статикой под гиг и базой под 70Мб, и посещаемость
порядка 1000 страниц в сутки.

        Настраивается один nginx на внешний адрес, множество
nginx-ов в паре с php по fastcgi. Для всех виртуальных хостов
выделяется отдельный ip вида 10.0.0.xx, на котором на 80 порту
отвечает бэкенд nginx, на 8443 - php-fastcgi. Два уровня
вебсерверов для разграничения uid/gid. Планируется, но пока не
настроен кэш динамики php (eAccelerator, Zend Optimizer и иже с
ними). Кстати, в этом разделе поправьте, если я где-то
некорректно продумал архитектуру хостинга. Запуск php
осуществляется с помощью скрипта во вложении (хотел через
spawn-fcgi от lighttpd, но пока не подружились). Запуск nginx с
помощью FreeBSD механизма rc.

        Я умею в общем-то только смотреть по top сколько
процентов user/sys проца и памяти жрет процесс. Еще вот в
рассылке прочел про удобные netstat -m и iostat, хотя с первым
не всё совсем ясно. Конечно, я могу набросать скрипт типа

for (i<x;i++) {
  for (j<y;j++) {
    wget http://site.com/index.php
    sleep(sy)
  }
  sleep(sx)
}

        но, я уверен, что есть более сложные и продвинутые
решения для оценки производительность сайта. Пожалуйста,
поделитесь знаниями. Интересно, в первую очередь, способ
определить насколько эффективны в данный момент настройки размера
буферов, макс. количества конектов и т.п. в nginx, настройки
кэша в mysql, настройки sysctl (текущие во вложении).

        Заранее спасибо.

        P.S.: в sysctl kern.msgbuf видно сообщения об упавшем в
кордамп httpd, это временное решение. Прямо сейчас работает
nginx-фронтэнд, причем настроенный "по-дефолту", лишь бы
работало и апач 2.2.3 mod_php бэкенд, без realip. Часть сайтов
уже перенесена на fastcgi, поэтому там в kern.msgbuf и
php-fastcgi тоже сыпется в кордамп.

-- 
Sergey A. Shepelev <l4igem2@xxxxxxx>

#!/bin/sh
PHPFCGI="/usr/local/bin/php-cgi"
PHPCONFIG="/home/melodymaker/etc/php.ini"
FCGIPORT="3780"
FCGIADDR="10.0.37.15"
PHP_FCGI_CHILDREN=5
USERID=melodymaker
PHP_FCGI_MAX_REQUESTS=0
/usr/bin/su $USERID -c "$PHPFCGI -q -c $PHPCONFIG -b $FCGIADDR:$FCGIPORT & > 
/dev/null"
kern.ostype: FreeBSD
kern.osrelease: 6.0-RELEASE
kern.osrevision: 199506
kern.version: FreeBSD 6.0-RELEASE #0: Wed Sep 28 01:46:39 MSD 2005
    root@xxxxxxxxxxxx:/usr/obj/usr/src/sys/HEROSHI

kern.maxvnodes: 69985
kern.maxproc: 6164
kern.maxfiles: 12328
kern.argmax: 262144
kern.securelevel: -1
kern.hostname: radiotheater.ru
kern.hostid: 0
kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
kern.posix1version: 200112
kern.ngroups: 16
kern.job_control: 1
kern.saved_ids: 0
kern.boottime: { sec = 1164917028, usec = 38909 } Thu Nov 30 23:03:48 2006
kern.domainname: 
kern.osreldate: 600034
kern.bootfile: /boot/kernel/kernel
kern.maxfilesperproc: 11095
kern.maxprocperuid: 5547
kern.ipc.maxsockbuf: 262144
kern.ipc.sockbuf_waste_factor: 8
kern.ipc.somaxconn: 128
kern.ipc.max_linkhdr: 16
kern.ipc.max_protohdr: 60
kern.ipc.max_hdr: 76
kern.ipc.max_datalen: 132
kern.ipc.nmbclusters: 25600
kern.ipc.maxpipekva: 16777216
kern.ipc.pipes: 96
kern.ipc.pipekva: 786432
kern.ipc.pipefragretry: 0
kern.ipc.pipeallocfail: 0
kern.ipc.piperesizefail: 0
kern.ipc.piperesizeallowed: 1
kern.ipc.msgmax: 16384
kern.ipc.msgmni: 40
kern.ipc.msgmnb: 2048
kern.ipc.msgtql: 40
kern.ipc.msgssz: 8
kern.ipc.msgseg: 2048
kern.ipc.semmap: 30
kern.ipc.semmni: 10
kern.ipc.semmns: 60
kern.ipc.semmnu: 30
kern.ipc.semmsl: 60
kern.ipc.semopm: 100
kern.ipc.semume: 10
kern.ipc.semusz: 92
kern.ipc.semvmx: 32767
kern.ipc.semaem: 16384
kern.ipc.shmmax: 33554432
kern.ipc.shmmin: 1
kern.ipc.shmmni: 192
kern.ipc.shmseg: 128
kern.ipc.shmall: 8192
kern.ipc.shm_use_phys: 0
kern.ipc.shm_allow_removed: 0
kern.ipc.numopensockets: 277
kern.ipc.maxsockets: 25600
kern.ipc.nsfbufs: 6656
kern.ipc.nsfbufspeak: 104
kern.ipc.nsfbufsused: 9
kern.dummy: 0
kern.ps_strings: 3217031152
kern.usrstack: 3217031168
kern.logsigexit: 1
kern.iov_max: 1024
kern.cam.cam_srch_hi: 0
kern.cam.scsi_delay: 5000
kern.cam.cd.changer.min_busy_seconds: 5
kern.cam.cd.changer.max_busy_seconds: 15
kern.cam.da.retry_count: 4
kern.cam.da.default_timeout: 60
kern.disks: ad6 ad4
kern.geom.debugflags: 0
kern.geom.collectstats: 1
kern.elf32.fallback_brand: -1
kern.init_path: 
/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall
kern.init_shutdown_timeout: 120
kern.acct_suspend: 2
kern.acct_resume: 4
kern.acct_chkfreq: 15
kern.cp_time: 12465048 509445732 4313331 145742 286905
kern.openfiles: 920
kern.kq_calloutmax: 4096
kern.stackprot: 7
kern.ps_arg_cache_limit: 256
kern.lastpid: 59901
kern.randompid: 0
kern.ktrace.genio_size: 4096
kern.ktrace.request_pool: 100
kern.module_path: /boot/kernel;/boot/modules
kern.malloc: 
        Type  InUse MemUse HighUse Requests  Size(s)
        linux    10     1K       -       10  32
      acpidev    37     2K       -       37  32
      acpisem    17     2K       -       17  64
     PCI Link    16     2K       -       16  16,128
     acpitask     0     0K       -        2  32
       acpica   868    47K       -   802085  16,32,64,128,256,512,1024
       DEVFS1   101    26K       -      101  256
       DEVFS3   222    28K       -      223  128
       DEVFS2   101     2K       -      101  16
     nexusdev     3     1K       -        3  16
      memdesc     1     4K       -        1  4096
     I/O APIC     4     4K       -        4  1024
       USBdev    13     5K       -       13  16,128,512
          USB    49     5K       -       49  16,32,64,128,256
     atkbddev     2     1K       -        2  32
      entropy  1024    64K       -     1024  64
    VM pgdata     2    65K       -        2  64
     ppbusdev     3     1K       -        3  128
CAM dev queue     3     1K       -        3  64
      UMAHash     2     6K       -        9  256,512,1024,2048,4096
    UFS mount    12    41K       -       12  256,2048,4096
  UFS dirhash   732   137K       -    73989  16,32,64,128,256,512
     savedino     0     0K       -   193844  256
    newdirblk     0     0K       -      672  16
       dirrem     0     0K       -   774933  32
        mkdir     0     0K       -    72988  32
       diradd     1     1K       -   815915  32
     freefile     0     0K       -   628795  32
     freeblks     0     0K       -   580995  256
     freefrag     1     1K       -   549509  32
   allocindir     0     0K       -  1787176  64
     indirdep     0     0K       -    21253  32
  allocdirect     1     1K       -  1709833  128
    bmsafemap     1     1K       -    83195  32
       newblk     1     1K       -  3497010  64,256
     inodedep     2   257K       -  1028660  128
      pagedep     2    33K       -   143892  64
     p1003.1b     1     1K       -        1  16
   NFS daemon     1     1K       -        1  256
    in6_multi     7     1K       -        7  64
     syncache     1     8K       -        1
    CAM queue     9     1K       -      379  16,32,64,128
    hostcache     1    24K       -        1
  IpFw/IpAcct   280    29K       -      282  64,128
     in_multi     2     1K       -        2  32
     routetbl   194    37K       -     2588  16,32,64,128,256
  ATA generic     3     3K       -        3  1024
   CAM periph     1     1K       -       31  128
           lo     1     1K       -        1  16
       arpcom     1     1K       -        1  16
        clone     4    16K       -        4  4096
  ether_multi    30     2K       -       34  16,32,64
       ifaddr    66    17K       -       66  16,32,64,256,512,2048
        ifnet     4     4K       -        4  256,1024
          BPF     3     1K       -        3  64
        mount    89     9K       -      164  16,32,64,128,1024,2048
       vnodes     1     1K       -        2  16,128
     VFS hash     1   256K       -        1
cluster_save buffer     0     0K       -    92745  32,64
     vfscache     1   512K       -        1
   BIO buffer    60   120K       -    98055  2048
          pcb    40     5K       -  1177087  16,32,64,2048
       soname    22     3K       -  7178714  16,32,64,128
     mbuf_tag     0     0K       -    11618  32
     mbextcnt     9     1K       -  2608279  16
         accf    38     1K       -    24964  16,32
         ptys     6     1K       -        6  128
         ttys  1231   177K       -    26431  128,1024
          shm    49    60K       -    57865  1024
          sem     4     7K       -        4  512,1024,4096
          msg     4    25K       -        4  1024,4096
          iov     0     0K       - 12991646  16,32,64,128,256,512,1024
     ioctlops     0     0K       -  1762057  16,32,64,256,512,1024
       Unitno     9     1K       -  1178795  16,64
   turnstiles   391    25K       -      391  64
    taskqueue     6     1K       -        6  128
 sleep queues   391    13K       -      391  32
         sbuf     0     0K       -      520  16,32,64,128,256,512,1024,2048,4096
         rman   157    10K       -      601  16,64
         kobj   245   490K       -      296  2048
 eventhandler    35     2K       -       35  32,128
      devstat     8    17K       -        8  16,4096
       bus-sc    62    41K       -     2042  16,32,64,128,256,512,1024,2048,4096
          bus   951    38K       -     4509  16,32,64,128,1024
         SWAP     2   277K       -        2  64
         umtx   390    25K       -      390  64
    sysctltmp     0     0K       -   163996  16,32,128
    sysctloid  2613    79K       -     2613  16,32,64
       sysctl     0     0K       -   197548  16,32,64
      uidinfo    24     2K       -    71058  32,1024
       plimit    35     9K       -   740903  256
         cred   102    13K       - 20798027  128
      subproc   611  1128K       -  2854005  256,4096
         proc     2     8K       -        2  4096
      session    49     7K       -    87304  128
         pgrp    55     4K       -    94932  64
     mtx_pool     1     8K       -        1
       module   371    24K       -      371  64,128
      CAM XPT    38    23K       -      275  16,64,512,1024
      CAM SIM     3     1K       -        3  64
       ip6ndp     5     1K       -        6  64,128
       ip6opt     1     1K       -        2  128
         temp    20   240K       - 49860703  16,32,64,128,256,512,1024,2048,4096
       devbuf   261  1479K       -      262  16,32,64,128,256,512,1024,2048,4096
        lockf    33     3K       -  4001325  64
       linker    78   121K       -      272  16,32,64,128,256,512,1024,4096
   ACD driver     1     2K       -        1  2048
       KTRACE   100    13K       -      100  128
    AR driver     0     0K       -       10  512,1024,2048
      ithread   128    15K       -      129  64,128
       zombie     0     0K       -  2853394  128
    proc-args    89     7K       -  1899288  16,32,64,128,256
       kqueue   105    61K       -   876358  256,1024
         kenv    97     7K       -       98  16,32,64,4096
        sigio    17     1K       -    53020  32
    file desc   358   106K       -  3026804  16,32,64,256,512,1024,2048,4096
      ATA DMA     4     1K       -        4  128
         cdev    26     4K       -       26  128
    AD driver     2     1K       -        2  32
       isadev    18     2K       -       18  64
         GEOM   103    12K       -      573  16,32,64,128,256,512,1024,2048,4096
    pfs_nodes    20     3K       -       20  128
        DEVFS    20     1K       -       21  16,128
   DEVFS_RULE    34     8K       -       34  32,256

kern.malloc_count: 197
kern.ident: GENERIC
kern.maxusers: 384
kern.fallback_elf_brand: -1
kern.kstack_pages: 2
kern.sync_on_panic: 0
kern.shutdown.poweroff_delay: 5000
kern.shutdown.kproc_shutdown_wait: 60
kern.sugid_coredump: 0
kern.coredump: 1
kern.nodump_coredump: 0
kern.corefile: %N.core
kern.fscale: 2048
kern.timecounter.stepwarnings: 0
kern.timecounter.nbinuptime: 2757033293
kern.timecounter.nnanouptime: 504
kern.timecounter.nmicrouptime: 2853777
kern.timecounter.nbintime: 3850160014
kern.timecounter.nnanotime: 16203899
kern.timecounter.nmicrotime: 3833060949
kern.timecounter.ngetbinuptime: 23442879
kern.timecounter.ngetnanouptime: 142392249
kern.timecounter.ngetmicrouptime: 2630878145
kern.timecounter.ngetbintime: 0
kern.timecounter.ngetnanotime: 0
kern.timecounter.ngetmicrotime: 442322693
kern.timecounter.nsetclock: 3
kern.timecounter.hardware: ACPI-safe
kern.timecounter.choice: TSC(800) ACPI-safe(1000) i8254(0) dummy(-1000000)
kern.timecounter.tick: 1
kern.threads.thr_scope: 0
kern.threads.thr_concurrency: 0
kern.threads.debug: 0
kern.threads.max_threads_per_proc: 1500
kern.threads.max_groups_per_proc: 1500
kern.threads.max_threads_hits: 0
kern.threads.virtual_cpu: 1
kern.sched.name: 4BSD
kern.sched.quantum: 100000
kern.sched.followon: 0
kern.sched.pfollowons: 0
kern.sched.kgfollowons: 0
kern.sched.preemption: 1
kern.ccpu: 1948
kern.devstat.numdevs: 2
kern.devstat.generation: 140
kern.devstat.version: 6
kern.kobj_methodcount: 115
kern.log_wakeups_per_second: 5
kern.log_console_output: 1
kern.always_console_output: 0
kern.msgbuf: >ipfw: 800 Deny TCP 87.245.57.147:28713 87.245.154.197:139 in via 
bge0
<6>pid 23035 (httpd), uid 1014: exited on signal 6
<110>ipfw: 800 Deny TCP 195.64.132.10:22397 82.138.6.167:80 in via bge0
// ОПХЛ. Х ЕЫЕ 30ЙА Deny НР ТЮИПБНКЮ
<109>ipfw: limit 500 reached on entry 800
<6>pid 28140 (php-cgi), uid 1006: exited on signal 11 (core dumped)
<6>pid 88149 (httpd), uid 0: exited on signal 11 (core dumped)
<6>pid 22783 (php-cgi), uid 1006: exited on signal 11 (core dumped)
// ОПХЛ. ВРН ОЕВЮКЭМН, ЮОЮВ Х ОУО ОЕПХНДХВЕЯЙХ ОЮДЮЧР Б ЙНПДЮЛО

kern.msgbuf_clear: 0
kern.smp.maxcpus: 1
kern.smp.active: 0
kern.smp.disabled: 0
kern.smp.cpus: 1
kern.nselcoll: 20393
kern.drainwait: 300
kern.tty_nin: 310369
kern.tty_nout: 27426916
kern.console: consolectl,/ttyd0,consolectl,
kern.consmute: 0
kern.consmsgbuf_size: 8192
kern.constty_wakeups_per_second: 5
kern.filedelay: 30
kern.dirdelay: 29
kern.metadelay: 28
kern.minvnodes: 17496
kern.chroot_allow_open_directories: 1
kern.rpc.retries: 0
kern.rpc.request: 0
kern.rpc.timeouts: 0
kern.rpc.unexpected: 0
kern.rpc.invalid: 0
kern.random.yarrow.gengateinterval: 10
kern.random.yarrow.bins: 10
kern.random.yarrow.fastthresh: 192
kern.random.yarrow.slowthresh: 256
kern.random.yarrow.slowoverthresh: 2
kern.random.sys.seeded: 1
kern.random.sys.harvest.ethernet: 1
kern.random.sys.harvest.point_to_point: 1
kern.random.sys.harvest.interrupt: 1
kern.random.sys.harvest.swi: 0



 




Copyright © Lexa Software, 1996-2009.