Важная информация
Показано с 1 по 3 из 3

Тема: как тестируется хост

  1. #1 как тестируется хост 
    Новичок
    Регистрация
    11.05.2017
    Сообщений
    11
    Сказал(а) спасибо
    2
    Поблагодарили 0 раз(а) в 0 сообщениях
    Расскажите, как протестить хост и cms, на пиковые нагрузки. По кол-ву посетителей за промежуток времени (1,12,24).
    Как я понимаю,кроме присутствия, еще стоит отследить работу посетителей с контентом?
    Это делается целенаправленно? Для оценки реальной картины,хостер вроде устраивал,но и нагрузок особых не было,а похвалиться каждый из них горазд.
    Если это делается,то как,какими средствами?
    И очень важный момент, как после такого"удара" избежать расстрела через повешение,от хостера?
    Ответить с цитированием  
     

  2. #2  
    Новичок
    Регистрация
    02.05.2017
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении
    Нужно просто отправить поток запросов на свой сайт. Стандартный инструмент - apache jmetr([Ссылки могут видеть только зарегистрированные пользователи. ]). В нём можно полностью имитировать поведение пользователя. Вещь супер шикарная, но требует времени на освоение.

    Более простой вариант, написать бота и запустить его с пару машин. Для себя написал вот такое поделие:


    curl-bot.php
    PHP Code:
    1.  
    2. <?php
    3.  
    4. if( ![Ссылки могут видеть только зарегистрированные пользователи. ]($argv[1]) )
    5.   [Ссылки могут видеть только зарегистрированные пользователи. ]("There is no target\n");
    6.  
    7. $pass1lvl = false;
    8. if( [Ссылки могут видеть только зарегистрированные пользователи. ]($argv[2]) )
    9.   $pass1lvl = true;
    10.  
    11. $tmpFileName = genRandomFN();
    12. $rNum = 1;
    13.  
    14. while(true) {
    15.   checkForExit();
    16.   $page = makeRequest($argv[1], $tmpFileName, 'Firefox', $pass1lvl);
    17.   echo outFormat($rNum, $page);
    18.   if( $pass1lvl )
    19.     [Ссылки могут видеть только зарегистрированные пользователи. ]($tmpFileName);
    20.   $rNum ++;
    21. }
    22.  
    23. // functions
    24.  
    25. function genRandomFN() {
    26.   return [Ссылки могут видеть только зарегистрированные пользователи. ](0, 65535 * 65535) . ".txt";
    27. }
    28.  
    29. function outFormat($rNum, $data) {
    30.   $text = "$rNum: CODE: " . $data['code'];
    31.   $text .= " RESP SIZE: " . $data['size'];
    32.   $text .= " RESP TIME: " . $data['time'] ."\n";
    33.   return $text;
    34. }
    35.  
    36. function makeRequest($url, $ccFile, $userAgent, $pass1lvl) {
    37.  
    38.   $curl = [Ссылки могут видеть только зарегистрированные пользователи. ]($url);
    39.   
    40.   if( $pass1lvl ) {
    41.     [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_FOLLOWLOCATION, true);
    42.     [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_MAXREDIRS, 5);
    43.     [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_COOKIEFILE, $ccFile);
    44.     [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_COOKIEJAR, $ccFile);  
    45.   } else {
    46.     [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_FOLLOWLOCATION, false);
    47.     [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_MAXREDIRS, 0);
    48.   }
    49.   
    50.   [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_RETURNTRANSFER, true);
    51.   [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_SSL_VERIFYHOST, false);
    52.   [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_SSL_VERIFYPEER, false);
    53.   [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_CONNECTTIMEOUT, 5);
    54.   [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLOPT_USERAGENT, $userAgent);
    55.   
    56.   $result = [Ссылки могут видеть только зарегистрированные пользователи. ]($curl);
    57.   $code = [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLINFO_HTTP_CODE);
    58.   $size = [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLINFO_SIZE_DOWNLOAD );
    59.   $time = [Ссылки могут видеть только зарегистрированные пользователи. ]($curl, CURLINFO_TOTAL_TIME );
    60.   
    61.   return [
    62.     'code' => $code,
    63.     'size' => $size,
    64.     'time' => $time
    65.   ];
    66. }
    67.  
    68. function checkForExit() {
    69.   $flag = [Ссылки могут видеть только зарегистрированные пользователи. ]('commander.txt');
    70.   if( (int)$flag == 0 )
    71.     [Ссылки могут видеть только зарегистрированные пользователи. ]("Stopped\n");
    72. }
    73.  
    74. ?>



    kickStarter.php
    PHP Code:
    1.  
    2. <?php
    3.  
    4. $action = '';
    5. $target = '';
    6. $pass1lvl = '';
    7. $count = 1;
    8.  
    9. if( [Ссылки могут видеть только зарегистрированные пользователи. ]($argv[1]) )
    10.   $action = $argv[1];
    11.  
    12. if( [Ссылки могут видеть только зарегистрированные пользователи. ]($argv[2]) )
    13.   $count = (int)$argv[2];
    14.  
    15. if( [Ссылки могут видеть только зарегистрированные пользователи. ]($argv[3]) )
    16.   $target = $argv[3];
    17.  
    18. if( [Ссылки могут видеть только зарегистрированные пользователи. ]($argv[4]) )
    19.   $pass1lvl = 1;
    20.  
    21. if( $action == 'start' ) {
    22.  
    23.   if( $target == '' )
    24.     [Ссылки могут видеть только зарегистрированные пользователи. ]("Usage: php kickStarter.php start|stop count http://example.com/ [1]\n");
    25.  
    26.   [Ссылки могут видеть только зарегистрированные пользователи. ]('commander.txt', '1');
    27.   for($i=1; $i<=$count; $i++)
    28.     $last_line = [Ссылки могут видеть только зарегистрированные пользователи. ]("php curl-bot.php $target $pass1lvl > /dev/null &", $retval);
    29. } elseif( $action == 'stop' ) {
    30.   [Ссылки могут видеть только зарегистрированные пользователи. ]('commander.txt', '0');
    31. } else {
    32.   echo "Usage: php kickStarter.php start|stop http://example.com/ [1]\n";
    33. }
    34. ?>


    запускать: php kickStarter.php start/stop количество_потоков адрес_сайта использовать_куки/редиректы(значение 0 или 1)

    Активность этого бота не будет видна во всяких яндекс-метриках, потому, что он не исполняет javascript, но нагрузку он создаст.
    Так же, если на сайте включено какое-либо кэширование, на время теста его нужно отключить.
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:


  4. #3  
    Новичок
    Регистрация
    02.11.2017
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Для своего сайта на чужом хосте есть специальные инструменты.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •