JMeter cookie manager портит значение cookie - PullRequest
2 голосов
/ 23 ноября 2011

Я пытаюсь выполнить нагрузочное тестирование с использованием JMeter 2.5.1. Приложение написано на PHP и использует стандартное управление сеансами на основе файлов cookie с именованным сеансом. В настоящее время план тестирования представляет собой очень простой 2 HTTP-запроса и 1 Cookie Manager в пределах одной группы потоков. Политика куки-файлов Cookie Manager настроена на совместимость, как предложено в руководствах. Однако сеанс по-прежнему теряется при каждом запросе.

При первом вызове страницы сеанс инициализируется. Я напечатал следующую информацию до и после вызова session_start:

before session start:
  session_name() = 'PHPSESSID'
  session_id() = ''
  $_COOKIE = array (
  )

after session start:
  session_name() = 'sasExtSMSESSID'
  session_id() = 'ihl8svsbl76au7h1ccn3c0ci61'
  $_COOKIE = array (
  )

При вызове на второй странице сеанс должен быть уже установлен. Но похоже, что файл cookie, который использует менеджер файлов cookie JMeter, поврежден:

before session start:
  session_name() = 'PHPSESSID'
  session_id() = ''
  $_COOKIE = array (
    'sasExtSMSESSID' => 'ihl8svsbl76au7h1ccn3c0ci61, sasExtSMSESSID=ihl8svsbl76au7h1ccn3c0ci61',
  )

after session start:
  session_name() = 'sasExtSMSESSID'
  session_id() = '2ro2bkd3t3liq76h7lqn603gm7'
  $_COOKIE = array (
    'sasExtSMSESSID' => 'ihl8svsbl76au7h1ccn3c0ci61, sasExtSMSESSID=ihl8svsbl76au7h1ccn3c0ci61',
  )

Так что кажется, что массив cookie каким-то образом поврежден, и, поскольку идентификатор сеанса недействителен, генерируется новый. Помимо вызова session_name() и session_start(), в приложении, которое работает с файлами cookie, нет ничего особенного. Доступ к страницам с помощью браузеров также работает. Так что я не правильно настроил JMeter. Есть идеи, что могло вызвать это? Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 28 ноября 2011

Я не уверен, что это действительно ответ, так как я до сих пор не знаю, что происходит, но я думаю, что это решение, от которого могут выиграть другие.

Изменение политики диспетчера файлов cookie с совместимости на стандартное позволяет мне обойти эту проблему, поскольку повреждение, по-видимому, происходит с другой частью переменной cookie:

session_name() = 'sasExtSMSESSID'
session_id() = 'gknq98q7fpecjciti3da9l6mj7'
$_COOKIE = array (
  '$Version' => '0',
  'sasExtSMSESSID' => 'gknq98q7fpecjciti3da9l6mj7',
  '$Path' => '/, sasExtSMSESSID=gknq98q7fpecjciti3da9l6mj7',
)

Пока повреждение $ Path не оказало негативного влияния.

Все равно был бы признателен, если бы кто-нибудь объяснил мне, что именно здесь происходит.

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