-
Notifications
You must be signed in to change notification settings - Fork 0
config_client
Roman Klassen edited this page Dec 30, 2018
·
1 revision
Параметры командной строки отсутствуют. Конфигурация производится исключительно через конфигурационный файл.
В конфигурационном файле clientConfig.xml
программы client
указывается:
- Секция
<QuerySequence>
описывает режима выбора очередного запроса.- Параметр
Mode
– режим выбора очередного запроса принимает 3 значения.-
Sequential
– запросы выбираются по кругу последовательно из списка запросов. -
Random
– выбор очередного запроса осуществляется случайным образом из списка запросов по равномерному закону. -
FromList
– очередной запрос выбирается из предоставленного списка запросов, в котором номера запросов соответствуют таковым вqueries.xml
.
-
- Параметр
- Секция
<List>
вложенная в<QuerySequence>
содержит список номеров запросов для режимаFromList
. - Секция
<Scenario>
описывает сценарий работы клиентов параметрами:-
ClientCount
– устанавливает количество симулируемых клиентов. -
StartTime
– устанавливает время запуска сценария в формате ISO 8601 [108].
-
- Секция
<ScenarioSteps>
вложенная в<Scenario>
описывает последовательность шагов сценария для всех клиентов. -
<ScenarioStep>
описывает шаг сценария параметрами:-
Duration
– длительность выполнения шага в формате ISO 8601 [108]. -
Action
– действие шага, принимает значения: -
Work
– разрешает клиентам отправлять запросы. -
Sleep
– запрещает клиентам отправлять запросы. -
Stop
– останавливает выполнение сценария.
-
- Секция
<Log>
описывает параметры журналирования и указывает названия файлов журналов.
Пример файла конфигурации:
<?xml version="1.0" encoding="utf-8"?>
<ClientConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Server Host="localhost" Port="3409" />
<Log WriteToConsole="true" LogLevel="DEBUG" LogMode="MULTIPLE">
<LogFile>clientLog.txt</LogFile>
<StatsFile>clientStats.csv</StatsFile>
<LogDir />
</Log>
<QuerySequence Mode="FromList">
<List>
<Query>9</Query>
<Query>1</Query>
<Query>6</Query>
<Query>11</Query>
<Query>10</Query>
<Query>14</Query>
<Query>12</Query>
<Query>1</Query>
<Query>14</Query>
<Query>7</Query>
<Query>10</Query>
<Query>8</Query>
<Query>12</Query>
<Query>13</Query>
<Query>10</Query>
<Query>5</Query>
<Query>5</Query>
<Query>4</Query>
<Query>7</Query>
<Query>4</Query>
<Query>13</Query>
<Query>5</Query>
<Query>12</Query>
<Query>3</Query>
<Query>9</Query>
<Query>7</Query>
<Query>11</Query>
<Query>5</Query>
<Query>3</Query>
<Query>12</Query>
<Query>10</Query>
<Query>8</Query>
<Query>13</Query>
<Query>10</Query>
<Query>13</Query>
<Query>14</Query>
<Query>5</Query>
<Query>7</Query>
<Query>1</Query>
<Query>4</Query>
<Query>13</Query>
<Query>13</Query>
<Query>3</Query>
<Query>2</Query>
<Query>3</Query>
<Query>9</Query>
<Query>12</Query>
<Query>12</Query>
<Query>13</Query>
<Query>14</Query>
<Query>10</Query>
<Query>4</Query>
<Query>3</Query>
<Query>13</Query>
<Query>11</Query>
<Query>10</Query>
<Query>5</Query>
<Query>8</Query>
<Query>8</Query>
<Query>13</Query>
<Query>2</Query>
<Query>5</Query>
<Query>1</Query>
<Query>12</Query>
<Query>7</Query>
<Query>13</Query>
<Query>9</Query>
<Query>2</Query>
<Query>4</Query>
<Query>5</Query>
<Query>11</Query>
<Query>4</Query>
<Query>2</Query>
<Query>1</Query>
<Query>12</Query>
<Query>8</Query>
<Query>4</Query>
<Query>12</Query>
<Query>7</Query>
<Query>12</Query>
<Query>1</Query>
<Query>12</Query>
<Query>1</Query>
<Query>10</Query>
<Query>9</Query>
<Query>4</Query>
<Query>12</Query>
<Query>2</Query>
<Query>4</Query>
<Query>14</Query>
<Query>12</Query>
<Query>4</Query>
<Query>4</Query>
<Query>3</Query>
<Query>3</Query>
<Query>4</Query>
<Query>14</Query>
<Query>11</Query>
<Query>10</Query>
<Query>3</Query>
<Query>14</Query>
<Query>13</Query>
<Query>6</Query>
<Query>13</Query>
<Query>5</Query>
<Query>8</Query>
<Query>8</Query>
<Query>9</Query>
<Query>9</Query>
<Query>14</Query>
<Query>1</Query>
<Query>8</Query>
<Query>1</Query>
<Query>7</Query>
<Query>4</Query>
<Query>9</Query>
<Query>10</Query>
<Query>9</Query>
<Query>3</Query>
<Query>10</Query>
<Query>11</Query>
<Query>6</Query>
<Query>7</Query>
<Query>7</Query>
<Query>8</Query>
<Query>13</Query>
<Query>6</Query>
<Query>1</Query>
<Query>9</Query>
<Query>1</Query>
<Query>1</Query>
<Query>14</Query>
<Query>10</Query>
<Query>13</Query>
<Query>11</Query>
<Query>14</Query>
<Query>10</Query>
<Query>9</Query>
<Query>14</Query>
<Query>2</Query>
<Query>11</Query>
<Query>7</Query>
<Query>1</Query>
<Query>6</Query>
<Query>2</Query>
<Query>13</Query>
<Query>12</Query>
<Query>6</Query>
<Query>6</Query>
<Query>12</Query>
<Query>12</Query>
<Query>9</Query>
<Query>9</Query>
<Query>4</Query>
<Query>11</Query>
<Query>5</Query>
<Query>12</Query>
<Query>6</Query>
<Query>1</Query>
<Query>4</Query>
<Query>14</Query>
<Query>5</Query>
<Query>1</Query>
<Query>2</Query>
<Query>8</Query>
<Query>12</Query>
<Query>10</Query>
<Query>10</Query>
<Query>5</Query>
<Query>8</Query>
<Query>2</Query>
<Query>7</Query>
<Query>1</Query>
<Query>10</Query>
<Query>9</Query>
<Query>11</Query>
<Query>4</Query>
<Query>13</Query>
<Query>1</Query>
<Query>10</Query>
<Query>9</Query>
<Query>13</Query>
<Query>10</Query>
<Query>4</Query>
<Query>11</Query>
<Query>12</Query>
<Query>1</Query>
<Query>13</Query>
<Query>9</Query>
<Query>6</Query>
<Query>2</Query>
<Query>4</Query>
<Query>7</Query>
<Query>1</Query>
<Query>5</Query>
<Query>3</Query>
<Query>8</Query>
<Query>9</Query>
<Query>5</Query>
<Query>7</Query>
<Query>7</Query>
<Query>5</Query>
<Query>2</Query>
<Query>9</Query>
<Query>11</Query>
<Query>6</Query>
<Query>13</Query>
<Query>7</Query>
<Query>14</Query>
<Query>1</Query>
<Query>11</Query>
<Query>5</Query>
<Query>13</Query>
<Query>1</Query>
<Query>6</Query>
<Query>7</Query>
<Query>2</Query>
<Query>5</Query>
<Query>3</Query>
<Query>2</Query>
<Query>5</Query>
<Query>6</Query>
<Query>11</Query>
<Query>2</Query>
<Query>13</Query>
<Query>1</Query>
<Query>14</Query>
<Query>3</Query>
<Query>8</Query>
<Query>9</Query>
<Query>12</Query>
<Query>7</Query>
<Query>14</Query>
<Query>9</Query>
<Query>6</Query>
<Query>5</Query>
<Query>7</Query>
<Query>12</Query>
<Query>10</Query>
<Query>6</Query>
<Query>13</Query>
<Query>12</Query>
<Query>3</Query>
<Query>11</Query>
<Query>4</Query>
<Query>12</Query>
<Query>13</Query>
<Query>3</Query>
<Query>14</Query>
<Query>14</Query>
<Query>6</Query>
<Query>14</Query>
<Query>5</Query>
<Query>9</Query>
<Query>13</Query>
<Query>4</Query>
<Query>2</Query>
<Query>2</Query>
<Query>11</Query>
<Query>8</Query>
<Query>1</Query>
<Query>1</Query>
<Query>4</Query>
<Query>12</Query>
<Query>10</Query>
<Query>4</Query>
<Query>14</Query>
<Query>4</Query>
<Query>5</Query>
<Query>14</Query>
<Query>10</Query>
<Query>8</Query>
<Query>4</Query>
<Query>6</Query>
<Query>11</Query>
<Query>13</Query>
<Query>11</Query>
<Query>8</Query>
<Query>12</Query>
<Query>3</Query>
<Query>2</Query>
<Query>13</Query>
<Query>2</Query>
<Query>5</Query>
<Query>9</Query>
<Query>5</Query>
<Query>3</Query>
<Query>2</Query>
<Query>11</Query>
<Query>1</Query>
<Query>7</Query>
<Query>1</Query>
<Query>6</Query>
<Query>3</Query>
<Query>1</Query>
<Query>12</Query>
<Query>12</Query>
<Query>8</Query>
<Query>4</Query>
<Query>9</Query>
<Query>3</Query>
<Query>7</Query>
<Query>13</Query>
<Query>9</Query>
<Query>11</Query>
<Query>3</Query>
<Query>12</Query>
<Query>6</Query>
<Query>12</Query>
<Query>11</Query>
<Query>2</Query>
<Query>3</Query>
<Query>9</Query>
<Query>8</Query>
<Query>3</Query>
<Query>10</Query>
<Query>12</Query>
<Query>10</Query>
<Query>7</Query>
<Query>13</Query>
<Query>11</Query>
<Query>1</Query>
<Query>3</Query>
<Query>4</Query>
<Query>5</Query>
<Query>10</Query>
<Query>9</Query>
<Query>1</Query>
<Query>14</Query>
<Query>5</Query>
<Query>8</Query>
<Query>7</Query>
<Query>13</Query>
<Query>5</Query>
<Query>14</Query>
<Query>9</Query>
<Query>13</Query>
<Query>5</Query>
<Query>9</Query>
<Query>2</Query>
<Query>4</Query>
<Query>3</Query>
<Query>2</Query>
<Query>11</Query>
<Query>8</Query>
<Query>3</Query>
<Query>1</Query>
<Query>6</Query>
<Query>3</Query>
<Query>7</Query>
<Query>3</Query>
<Query>12</Query>
<Query>7</Query>
<Query>11</Query>
<Query>2</Query>
<Query>7</Query>
<Query>5</Query>
<Query>6</Query>
<Query>4</Query>
<Query>10</Query>
<Query>4</Query>
<Query>9</Query>
<Query>9</Query>
<Query>11</Query>
<Query>2</Query>
<Query>13</Query>
<Query>7</Query>
<Query>9</Query>
<Query>4</Query>
<Query>13</Query>
<Query>9</Query>
<Query>7</Query>
<Query>6</Query>
<Query>5</Query>
<Query>12</Query>
<Query>13</Query>
<Query>1</Query>
<Query>13</Query>
<Query>12</Query>
<Query>4</Query>
<Query>4</Query>
<Query>11</Query>
<Query>14</Query>
<Query>9</Query>
<Query>7</Query>
<Query>9</Query>
<Query>11</Query>
<Query>7</Query>
<Query>6</Query>
<Query>8</Query>
<Query>4</Query>
<Query>8</Query>
<Query>2</Query>
<Query>4</Query>
<Query>12</Query>
<Query>8</Query>
<Query>10</Query>
<Query>3</Query>
<Query>13</Query>
<Query>9</Query>
<Query>7</Query>
<Query>6</Query>
<Query>12</Query>
<Query>12</Query>
<Query>6</Query>
<Query>12</Query>
<Query>1</Query>
<Query>6</Query>
<Query>10</Query>
<Query>10</Query>
<Query>11</Query>
<Query>1</Query>
<Query>3</Query>
<Query>5</Query>
<Query>12</Query>
<Query>14</Query>
<Query>1</Query>
<Query>14</Query>
<Query>14</Query>
<Query>11</Query>
<Query>13</Query>
<Query>8</Query>
<Query>3</Query>
<Query>8</Query>
<Query>10</Query>
<Query>8</Query>
<Query>2</Query>
<Query>3</Query>
<Query>14</Query>
<Query>4</Query>
<Query>10</Query>
<Query>6</Query>
<Query>14</Query>
<Query>9</Query>
<Query>1</Query>
<Query>10</Query>
<Query>11</Query>
<Query>6</Query>
<Query>5</Query>
<Query>12</Query>
<Query>14</Query>
<Query>10</Query>
<Query>12</Query>
<Query>14</Query>
<Query>2</Query>
<Query>6</Query>
<Query>7</Query>
<Query>7</Query>
<Query>2</Query>
<Query>7</Query>
<Query>4</Query>
<Query>4</Query>
<Query>6</Query>
<Query>6</Query>
<Query>6</Query>
<Query>12</Query>
<Query>6</Query>
<Query>4</Query>
<Query>3</Query>
<Query>11</Query>
<Query>14</Query>
<Query>12</Query>
<Query>13</Query>
<Query>2</Query>
<Query>3</Query>
<Query>7</Query>
<Query>2</Query>
<Query>13</Query>
<Query>9</Query>
<Query>7</Query>
<Query>2</Query>
<Query>2</Query>
<Query>12</Query>
<Query>6</Query>
<Query>4</Query>
<Query>9</Query>
<Query>6</Query>
<Query>9</Query>
<Query>13</Query>
<Query>4</Query>
<Query>11</Query>
<Query>12</Query>
<Query>3</Query>
<Query>8</Query>
<Query>1</Query>
<Query>8</Query>
<Query>3</Query>
<Query>6</Query>
<Query>8</Query>
<Query>11</Query>
<Query>6</Query>
<Query>13</Query>
<Query>2</Query>
<Query>5</Query>
<Query>2</Query>
<Query>13</Query>
<Query>7</Query>
<Query>6</Query>
<Query>6</Query>
<Query>4</Query>
<Query>3</Query>
<Query>4</Query>
<Query>9</Query>
<Query>2</Query>
<Query>12</Query>
<Query>8</Query>
<Query>1</Query>
<Query>5</Query>
<Query>11</Query>
<Query>2</Query>
<Query>2</Query>
<Query>3</Query>
<Query>6</Query>
<Query>2</Query>
<Query>1</Query>
<Query>12</Query>
<Query>3</Query>
<Query>11</Query>
<Query>10</Query>
<Query>11</Query>
<Query>14</Query>
<Query>8</Query>
<Query>4</Query>
<Query>1</Query>
<Query>3</Query>
<Query>13</Query>
<Query>6</Query>
<Query>5</Query>
<Query>2</Query>
<Query>12</Query>
<Query>10</Query>
<Query>3</Query>
<Query>14</Query>
<Query>3</Query>
<Query>2</Query>
<Query>5</Query>
<Query>11</Query>
<Query>9</Query>
<Query>8</Query>
<Query>7</Query>
<Query>3</Query>
<Query>12</Query>
<Query>6</Query>
<Query>9</Query>
<Query>9</Query>
<Query>14</Query>
<Query>2</Query>
<Query>3</Query>
<Query>9</Query>
<Query>9</Query>
<Query>2</Query>
<Query>8</Query>
<Query>13</Query>
<Query>5</Query>
<Query>11</Query>
<Query>11</Query>
<Query>2</Query>
<Query>2</Query>
<Query>9</Query>
<Query>10</Query>
<Query>13</Query>
<Query>6</Query>
<Query>11</Query>
<Query>7</Query>
<Query>11</Query>
<Query>8</Query>
<Query>7</Query>
<Query>3</Query>
<Query>7</Query>
<Query>4</Query>
<Query>9</Query>
<Query>6</Query>
<Query>9</Query>
<Query>3</Query>
<Query>14</Query>
<Query>2</Query>
<Query>1</Query>
<Query>3</Query>
<Query>13</Query>
<Query>3</Query>
<Query>11</Query>
<Query>6</Query>
<Query>3</Query>
<Query>8</Query>
<Query>8</Query>
<Query>6</Query>
<Query>7</Query>
<Query>8</Query>
<Query>8</Query>
<Query>1</Query>
<Query>3</Query>
<Query>10</Query>
<Query>1</Query>
<Query>5</Query>
<Query>4</Query>
<Query>14</Query>
<Query>4</Query>
<Query>3</Query>
<Query>12</Query>
<Query>12</Query>
<Query>10</Query>
<Query>14</Query>
<Query>4</Query>
<Query>10</Query>
<Query>14</Query>
<Query>5</Query>
<Query>5</Query>
<Query>10</Query>
<Query>7</Query>
<Query>14</Query>
<Query>10</Query>
<Query>14</Query>
<Query>11</Query>
<Query>5</Query>
<Query>11</Query>
<Query>3</Query>
<Query>8</Query>
<Query>9</Query>
<Query>8</Query>
<Query>1</Query>
<Query>14</Query>
<Query>2</Query>
<Query>14</Query>
<Query>1</Query>
<Query>8</Query>
<Query>13</Query>
<Query>2</Query>
<Query>2</Query>
<Query>2</Query>
<Query>2</Query>
<Query>13</Query>
<Query>7</Query>
<Query>11</Query>
<Query>13</Query>
<Query>2</Query>
<Query>6</Query>
<Query>3</Query>
<Query>14</Query>
<Query>9</Query>
<Query>10</Query>
<Query>12</Query>
<Query>5</Query>
<Query>8</Query>
<Query>1</Query>
<Query>12</Query>
<Query>14</Query>
<Query>2</Query>
<Query>2</Query>
<Query>5</Query>
<Query>2</Query>
<Query>10</Query>
<Query>2</Query>
<Query>1</Query>
<Query>11</Query>
<Query>4</Query>
<Query>1</Query>
<Query>7</Query>
<Query>9</Query>
<Query>13</Query>
<Query>10</Query>
<Query>3</Query>
<Query>11</Query>
<Query>6</Query>
<Query>13</Query>
<Query>11</Query>
<Query>7</Query>
<Query>13</Query>
<Query>2</Query>
<Query>13</Query>
<Query>12</Query>
<Query>3</Query>
<Query>11</Query>
<Query>14</Query>
<Query>3</Query>
<Query>2</Query>
<Query>4</Query>
<Query>6</Query>
<Query>3</Query>
<Query>12</Query>
<Query>3</Query>
<Query>1</Query>
<Query>13</Query>
<Query>2</Query>
<Query>11</Query>
<Query>6</Query>
<Query>4</Query>
<Query>6</Query>
<Query>7</Query>
<Query>4</Query>
<Query>10</Query>
<Query>5</Query>
<Query>4</Query>
<Query>7</Query>
<Query>1</Query>
<Query>12</Query>
<Query>14</Query>
<Query>13</Query>
<Query>7</Query>
<Query>1</Query>
<Query>9</Query>
<Query>7</Query>
<Query>11</Query>
<Query>11</Query>
<Query>1</Query>
<Query>3</Query>
<Query>9</Query>
<Query>9</Query>
<Query>3</Query>
<Query>8</Query>
<Query>13</Query>
<Query>3</Query>
<Query>5</Query>
<Query>5</Query>
<Query>1</Query>
<Query>7</Query>
<Query>12</Query>
<Query>12</Query>
<Query>8</Query>
<Query>3</Query>
<Query>8</Query>
<Query>11</Query>
<Query>13</Query>
<Query>3</Query>
<Query>4</Query>
<Query>14</Query>
<Query>7</Query>
<Query>8</Query>
<Query>9</Query>
<Query>7</Query>
<Query>5</Query>
<Query>10</Query>
<Query>11</Query>
<Query>11</Query>
<Query>8</Query>
<Query>12</Query>
<Query>7</Query>
<Query>4</Query>
<Query>11</Query>
<Query>2</Query>
<Query>3</Query>
<Query>11</Query>
<Query>3</Query>
<Query>8</Query>
<Query>12</Query>
<Query>7</Query>
<Query>6</Query>
<Query>5</Query>
<Query>14</Query>
<Query>1</Query>
<Query>8</Query>
<Query>14</Query>
<Query>2</Query>
<Query>3</Query>
<Query>11</Query>
<Query>4</Query>
<Query>13</Query>
<Query>3</Query>
<Query>4</Query>
<Query>11</Query>
<Query>13</Query>
<Query>10</Query>
<Query>1</Query>
<Query>6</Query>
<Query>11</Query>
<Query>6</Query>
<Query>11</Query>
<Query>6</Query>
<Query>3</Query>
<Query>3</Query>
<Query>3</Query>
<Query>6</Query>
<Query>8</Query>
<Query>1</Query>
<Query>5</Query>
<Query>3</Query>
<Query>11</Query>
<Query>2</Query>
<Query>4</Query>
<Query>3</Query>
<Query>10</Query>
<Query>4</Query>
<Query>12</Query>
<Query>3</Query>
<Query>10</Query>
<Query>2</Query>
<Query>12</Query>
<Query>13</Query>
<Query>3</Query>
<Query>10</Query>
<Query>7</Query>
<Query>7</Query>
<Query>3</Query>
<Query>9</Query>
<Query>11</Query>
<Query>12</Query>
<Query>8</Query>
<Query>9</Query>
<Query>4</Query>
<Query>13</Query>
<Query>7</Query>
<Query>3</Query>
<Query>12</Query>
<Query>5</Query>
<Query>14</Query>
<Query>4</Query>
<Query>3</Query>
<Query>13</Query>
<Query>9</Query>
<Query>2</Query>
<Query>7</Query>
<Query>10</Query>
<Query>11</Query>
<Query>4</Query>
<Query>9</Query>
<Query>10</Query>
<Query>9</Query>
<Query>14</Query>
<Query>11</Query>
<Query>7</Query>
<Query>10</Query>
<Query>8</Query>
<Query>10</Query>
<Query>10</Query>
<Query>10</Query>
<Query>3</Query>
<Query>5</Query>
<Query>4</Query>
<Query>12</Query>
<Query>13</Query>
<Query>9</Query>
<Query>6</Query>
<Query>5</Query>
<Query>4</Query>
<Query>9</Query>
<Query>3</Query>
<Query>9</Query>
<Query>6</Query>
<Query>7</Query>
<Query>3</Query>
<Query>1</Query>
<Query>7</Query>
<Query>4</Query>
<Query>13</Query>
<Query>5</Query>
<Query>13</Query>
<Query>8</Query>
<Query>6</Query>
<Query>10</Query>
<Query>1</Query>
<Query>13</Query>
<Query>8</Query>
<Query>7</Query>
<Query>9</Query>
<Query>6</Query>
<Query>7</Query>
<Query>9</Query>
<Query>9</Query>
<Query>8</Query>
<Query>13</Query>
<Query>1</Query>
<Query>9</Query>
<Query>6</Query>
<Query>9</Query>
<Query>10</Query>
<Query>12</Query>
<Query>9</Query>
<Query>4</Query>
<Query>5</Query>
<Query>12</Query>
<Query>6</Query>
<Query>5</Query>
<Query>9</Query>
<Query>4</Query>
<Query>4</Query>
<Query>6</Query>
<Query>2</Query>
<Query>9</Query>
<Query>3</Query>
<Query>11</Query>
<Query>13</Query>
<Query>9</Query>
<Query>9</Query>
<Query>10</Query>
<Query>14</Query>
<Query>11</Query>
<Query>11</Query>
<Query>8</Query>
<Query>12</Query>
<Query>6</Query>
<Query>10</Query>
<Query>9</Query>
<Query>8</Query>
<Query>5</Query>
<Query>11</Query>
<Query>10</Query>
<Query>6</Query>
<Query>3</Query>
<Query>7</Query>
<Query>3</Query>
<Query>8</Query>
<Query>12</Query>
<Query>6</Query>
<Query>10</Query>
<Query>9</Query>
<Query>4</Query>
<Query>13</Query>
<Query>5</Query>
<Query>2</Query>
<Query>12</Query>
<Query>13</Query>
<Query>9</Query>
<Query>5</Query>
<Query>8</Query>
<Query>7</Query>
<Query>3</Query>
<Query>1</Query>
<Query>14</Query>
<Query>5</Query>
<Query>9</Query>
<Query>12</Query>
<Query>3</Query>
<Query>7</Query>
<Query>8</Query>
<Query>11</Query>
<Query>3</Query>
<Query>7</Query>
<Query>1</Query>
<Query>5</Query>
<Query>5</Query>
<Query>4</Query>
<Query>3</Query>
<Query>12</Query>
<Query>14</Query>
<Query>5</Query>
<Query>3</Query>
<Query>6</Query>
<Query>5</Query>
<Query>14</Query>
<Query>9</Query>
<Query>4</Query>
<Query>11</Query>
<Query>13</Query>
<Query>9</Query>
<Query>14</Query>
<Query>2</Query>
<Query>1</Query>
<Query>1</Query>
<Query>6</Query>
<Query>1</Query>
<Query>2</Query>
<Query>6</Query>
<Query>7</Query>
<Query>11</Query>
<Query>6</Query>
<Query>2</Query>
<Query>10</Query>
<Query>10</Query>
<Query>11</Query>
<Query>2</Query>
<Query>7</Query>
<Query>12</Query>
<Query>4</Query>
<Query>13</Query>
<Query>12</Query>
<Query>4</Query>
<Query>11</Query>
<Query>7</Query>
<Query>3</Query>
<Query>1</Query>
<Query>9</Query>
<Query>3</Query>
<Query>11</Query>
<Query>3</Query>
<Query>6</Query>
<Query>14</Query>
<Query>11</Query>
<Query>10</Query>
<Query>14</Query>
<Query>12</Query>
<Query>9</Query>
<Query>3</Query>
<Query>5</Query>
<Query>11</Query>
<Query>12</Query>
<Query>13</Query>
<Query>5</Query>
<Query>6</Query>
<Query>5</Query>
<Query>9</Query>
<Query>7</Query>
<Query>2</Query>
<Query>14</Query>
<Query>12</Query>
<Query>10</Query>
<Query>11</Query>
<Query>1</Query>
<Query>7</Query>
<Query>13</Query>
<Query>10</Query>
<Query>4</Query>
</List>
</QuerySequence>
<Scenario ClientCount="50" StartTime="2018-12-30T17:16:16.4700104+03:00">
<ScenarioSteps>
<ScenarioStep Duration="PT1S" Action="Work" />
</ScenarioSteps>
</Scenario>
</ClientConfig>
Файл queries.xml
содержит список запросов, которые будут использованы в симуляции работы клиентов.
В нем:
- Секция
<Queries>
устанавливает список запросов - Секция
<QueryConfig>
вложенная в описывает один запрос:- Параметр
Number
– порядковый номер запроса. - Значение секции
<QueryConfig>
– собственно запрос.
- Параметр
Пример файла queries.xml
:
<?xml version="1.0" encoding="utf-8"?>
<QueriesList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Queries>
<QueryConfig Number="1">SELECT
L_RETURNFLAG,
L_LINESTATUS,
SUM(L_QUANTITY) AS SUM_QTY,
SUM(L_EXTENDEDPRICE) AS SUM_BASE_PRICE,
SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT)) AS SUM_DISC_PRICE,
SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT) * (1 + L_TAX)) AS SUM_CHARGE,
AVG(L_QUANTITY) AS AVG_QTY,
AVG(L_EXTENDEDPRICE) AS AVG_PRICE,
AVG(L_DISCOUNT) AS AVG_DISC,
COUNT(*) AS COUNT_ORDER
FROM
LINEITEM
WHERE
L_SHIPDATE <= DATE '1998-12-01' - INTERVAL '90' DAY
GROUP BY
L_RETURNFLAG,
L_LINESTATUS
ORDER BY
L_RETURNFLAG,
L_LINESTATUS;</QueryConfig>
<QueryConfig Number="2">SELECT
S_ACCTBAL,
S_NAME,
N_NAME,
P_PARTKEY,
P_MFGR,
S_ADDRESS,
S_PHONE,
S_COMMENT
FROM
PART,
SUPPLIER,
PARTSUPP,
NATION,
REGION
WHERE
P_PARTKEY = PS_PARTKEY
AND S_SUPPKEY = PS_SUPPKEY
AND P_SIZE = 48
AND P_TYPE LIKE '%NICKEL'
AND S_NATIONKEY = N_NATIONKEY
AND N_REGIONKEY = R_REGIONKEY
AND R_NAME = 'AMERICA'
AND PS_SUPPLYCOST = (
SELECT
MIN(PS_SUPPLYCOST)
FROM
PARTSUPP,
SUPPLIER,
NATION,
REGION
WHERE
P_PARTKEY = PS_PARTKEY
AND S_SUPPKEY = PS_SUPPKEY
AND S_NATIONKEY = N_NATIONKEY
AND N_REGIONKEY = R_REGIONKEY
AND R_NAME = 'AMERICA'
)
ORDER BY
S_ACCTBAL DESC,
N_NAME,
S_NAME,
P_PARTKEY;</QueryConfig>
<QueryConfig Number="3">SELECT
L_ORDERKEY,
SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT)) AS REVENUE,
O_ORDERDATE,
O_SHIPPRIORITY
FROM
CUSTOMER,
ORDERS,
LINEITEM
WHERE
C_MKTSEGMENT = 'HOUSEHOLD'
AND C_CUSTKEY = O_CUSTKEY
AND L_ORDERKEY = O_ORDERKEY
AND O_ORDERDATE < DATE '1995-03-31'
AND L_SHIPDATE > DATE '1995-03-31'
GROUP BY
L_ORDERKEY,
O_ORDERDATE,
O_SHIPPRIORITY
ORDER BY
REVENUE DESC,
O_ORDERDATE;</QueryConfig>
<QueryConfig Number="4">SELECT
O_ORDERPRIORITY,
COUNT(*) AS ORDER_COUNT
FROM
ORDERS
WHERE
O_ORDERDATE >= DATE '1996-02-01'
AND O_ORDERDATE < DATE '1996-02-01' + INTERVAL '3' MONTH
AND EXISTS (
SELECT
*
FROM
LINEITEM
WHERE
L_ORDERKEY = O_ORDERKEY
AND L_COMMITDATE < L_RECEIPTDATE
)
GROUP BY
O_ORDERPRIORITY
ORDER BY
O_ORDERPRIORITY;</QueryConfig>
<QueryConfig Number="5">SELECT
N_NAME,
SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT)) AS REVENUE
FROM
CUSTOMER,
ORDERS,
LINEITEM,
SUPPLIER,
NATION,
REGION
WHERE
C_CUSTKEY = O_CUSTKEY
AND L_ORDERKEY = O_ORDERKEY
AND L_SUPPKEY = S_SUPPKEY
AND C_NATIONKEY = S_NATIONKEY
AND S_NATIONKEY = N_NATIONKEY
AND N_REGIONKEY = R_REGIONKEY
AND R_NAME = 'MIDDLE EAST'
AND O_ORDERDATE >= DATE '1995-01-01'
AND O_ORDERDATE < DATE '1995-01-01' + INTERVAL '1' YEAR
GROUP BY
N_NAME
ORDER BY
REVENUE DESC;</QueryConfig>
<QueryConfig Number="6">SELECT
SUM(L_EXTENDEDPRICE * L_DISCOUNT) AS REVENUE
FROM
LINEITEM
WHERE
L_SHIPDATE >= DATE '1997-01-01'
AND L_SHIPDATE < DATE '1997-01-01' + INTERVAL '1' YEAR
AND L_DISCOUNT BETWEEN 0.07 - 0.01 AND 0.07 + 0.01
AND L_QUANTITY < 24;</QueryConfig>
<QueryConfig Number="7">SELECT
SUPP_NATION,
CUST_NATION,
L_YEAR,
SUM(VOLUME) AS REVENUE
FROM
(
SELECT
N1.N_NAME AS SUPP_NATION,
N2.N_NAME AS CUST_NATION,
EXTRACT(YEAR FROM L_SHIPDATE) AS L_YEAR,
L_EXTENDEDPRICE * (1 - L_DISCOUNT) AS VOLUME
FROM
SUPPLIER,
LINEITEM,
ORDERS,
CUSTOMER,
NATION N1,
NATION N2
WHERE
S_SUPPKEY = L_SUPPKEY
AND O_ORDERKEY = L_ORDERKEY
AND C_CUSTKEY = O_CUSTKEY
AND S_NATIONKEY = N1.N_NATIONKEY
AND C_NATIONKEY = N2.N_NATIONKEY
AND (
(N1.N_NAME = 'IRAQ' AND N2.N_NAME = 'ALGERIA')
OR (N1.N_NAME = 'ALGERIA' AND N2.N_NAME = 'IRAQ')
)
AND L_SHIPDATE BETWEEN DATE '1995-01-01' AND DATE '1996-12-31'
) AS SHIPPING
GROUP BY
SUPP_NATION,
CUST_NATION,
L_YEAR
ORDER BY
SUPP_NATION,
CUST_NATION,
L_YEAR;</QueryConfig>
<QueryConfig Number="8">SELECT
O_YEAR,
SUM(CASE
WHEN NATION = 'IRAN' THEN VOLUME
ELSE 0
END) / SUM(VOLUME) AS MKT_SHARE
FROM
(
SELECT
EXTRACT(YEAR FROM O_ORDERDATE) AS O_YEAR,
L_EXTENDEDPRICE * (1 - L_DISCOUNT) AS VOLUME,
N2.N_NAME AS NATION
FROM
PART,
SUPPLIER,
LINEITEM,
ORDERS,
CUSTOMER,
NATION N1,
NATION N2,
REGION
WHERE
P_PARTKEY = L_PARTKEY
AND S_SUPPKEY = L_SUPPKEY
AND L_ORDERKEY = O_ORDERKEY
AND O_CUSTKEY = C_CUSTKEY
AND C_NATIONKEY = N1.N_NATIONKEY
AND N1.N_REGIONKEY = R_REGIONKEY
AND R_NAME = 'MIDDLE EAST'
AND S_NATIONKEY = N2.N_NATIONKEY
AND O_ORDERDATE BETWEEN DATE '1995-01-01' AND DATE '1996-12-31'
AND P_TYPE = 'STANDARD BRUSHED BRASS'
) AS ALL_NATIONS
GROUP BY
O_YEAR
ORDER BY
O_YEAR;
</QueryConfig>
<QueryConfig Number="9">SELECT
NATION,
O_YEAR,
SUM(AMOUNT) AS SUM_PROFIT
FROM
(
SELECT
N_NAME AS NATION,
EXTRACT(YEAR FROM O_ORDERDATE) AS O_YEAR,
L_EXTENDEDPRICE * (1 - L_DISCOUNT) - PS_SUPPLYCOST * L_QUANTITY AS AMOUNT
FROM
PART,
SUPPLIER,
LINEITEM,
PARTSUPP,
ORDERS,
NATION
WHERE
S_SUPPKEY = L_SUPPKEY
AND PS_SUPPKEY = L_SUPPKEY
AND PS_PARTKEY = L_PARTKEY
AND P_PARTKEY = L_PARTKEY
AND O_ORDERKEY = L_ORDERKEY
AND S_NATIONKEY = N_NATIONKEY
AND P_NAME LIKE '%SNOW%'
) AS PROFIT
GROUP BY
NATION,
O_YEAR
ORDER BY
NATION,
O_YEAR DESC;
</QueryConfig>
<QueryConfig Number="10">SELECT
C_CUSTKEY,
C_NAME,
SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT)) AS REVENUE,
C_ACCTBAL,
N_NAME,
C_ADDRESS,
C_PHONE,
C_COMMENT
FROM
CUSTOMER,
ORDERS,
LINEITEM,
NATION
WHERE
C_CUSTKEY = O_CUSTKEY
AND L_ORDERKEY = O_ORDERKEY
AND O_ORDERDATE >= DATE '1994-04-01'
AND O_ORDERDATE < DATE '1994-04-01' + INTERVAL '3' MONTH
AND L_RETURNFLAG = 'R'
AND C_NATIONKEY = N_NATIONKEY
GROUP BY
C_CUSTKEY,
C_NAME,
C_ACCTBAL,
C_PHONE,
N_NAME,
C_ADDRESS,
C_COMMENT
ORDER BY
REVENUE DESC;</QueryConfig>
<QueryConfig Number="11">SELECT
PS_PARTKEY,
SUM(PS_SUPPLYCOST * PS_AVAILQTY) AS VALUE
FROM
PARTSUPP,
SUPPLIER,
NATION
WHERE
PS_SUPPKEY = S_SUPPKEY
AND S_NATIONKEY = N_NATIONKEY
AND N_NAME = 'ALGERIA'
GROUP BY
PS_PARTKEY HAVING
SUM(PS_SUPPLYCOST * PS_AVAILQTY) > (
SELECT
SUM(PS_SUPPLYCOST * PS_AVAILQTY) * 0.0001000000
FROM
PARTSUPP,
SUPPLIER,
NATION
WHERE
PS_SUPPKEY = S_SUPPKEY
AND S_NATIONKEY = N_NATIONKEY
AND N_NAME = 'ALGERIA'
)
ORDER BY
VALUE DESC;
</QueryConfig>
<QueryConfig Number="12">SELECT
L_SHIPMODE,
SUM(CASE
WHEN O_ORDERPRIORITY = '1-URGENT'
OR O_ORDERPRIORITY = '2-HIGH'
THEN 1
ELSE 0
END) AS HIGH_LINE_COUNT,
SUM(CASE
WHEN O_ORDERPRIORITY <> '1-URGENT'
AND O_ORDERPRIORITY <> '2-HIGH'
THEN 1
ELSE 0
END) AS LOW_LINE_COUNT
FROM
ORDERS,
LINEITEM
WHERE
O_ORDERKEY = L_ORDERKEY
AND L_SHIPMODE IN ('AIR', 'SHIP')
AND L_COMMITDATE < L_RECEIPTDATE
AND L_SHIPDATE < L_COMMITDATE
AND L_RECEIPTDATE >= DATE '1994-01-01'
AND L_RECEIPTDATE < DATE '1994-01-01' + INTERVAL '1' YEAR
GROUP BY
L_SHIPMODE
ORDER BY
L_SHIPMODE;
</QueryConfig>
<QueryConfig Number="13">select
c_count,
count(*) as custdist
from
(
select
c_custkey,
count(o_orderkey) as c_count
from
customer left outer join orders on
c_custkey = o_custkey
and o_comment not like '%special%requests%'
group by
c_custkey
) as c_orders
group by
c_count
order by
custdist desc,
c_count desc;</QueryConfig>
<QueryConfig Number="14">SELECT
100.00 * SUM(CASE
WHEN P_TYPE LIKE 'PROMO%'
THEN L_EXTENDEDPRICE * (1 - L_DISCOUNT)
ELSE 0
END) / SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT)) AS PROMO_REVENUE
FROM
LINEITEM,
PART
WHERE
L_PARTKEY = P_PARTKEY
AND L_SHIPDATE >= DATE '1995-01-01'
AND L_SHIPDATE < DATE '1995-01-01' + INTERVAL '1' MONTH;
</QueryConfig>
</Queries>
</QueriesList>