Перейти к содержимому

Фотография

Как посчитать среднее время выполнения запроса?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 elvistudio

elvistudio

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Стжалковский Александр
  • Город:Москва

Отправлено 19 ноября 2010 - 12:14

Привет!
Помогите пожулуйста решить производственную задачу - нужно довольно срочно, поэтому решил задать вопрос сюда, дополнительно к гуглению.
Имеется файл, два поля - название запроса и время выполнения. Запросов около 80 (то есть руками выделать в экселе слишком нудно и долго и неинтересно), строк в файле - около 100.000.
Нужно посчитать среднее время выполнения каждого запроса,

urn:SystemAdmin.setPassword 78
urn:SystemAdmin.setPassword 69
urn:SystemAdmin.setPassword 42
urn:SystemAdmin.setPassword 38
...
urn:SystemAdmin.getProductionGroups 99
urn:SystemAdmin.getProductionGroups 94
urn:SystemAdmin.getProductionGroups 86
...
urn:SystemAdmin.getOrderSources 7
urn:SystemAdmin.getOrderSources 66
urn:SystemAdmin.getOrderSources 66
...

Пробую решить awk либо excel, возможны ваши варианты.

Заранее благодарен за помощь.
  • 0

#2 Toxa

Toxa

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Куховаренко Антон
  • Город:Россия, Казань

Отправлено 19 ноября 2010 - 12:32

Если у вас эти данные в Excel-файле, скажем в столбце A - названия, а в столбце B - время выполнения, то посчитать среднее можно так:
В ячейку D1 - пишем название запроса, в ячейку E1 - формулу: =СУММЕСЛИ(A:A;D1;B:B)/СЧЁТЕСЛИ(A:A;D1)

Пример, во вложении.

Прикрепленные файлы


  • 0

#3 elvistudio

elvistudio

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Стжалковский Александр
  • Город:Москва

Отправлено 19 ноября 2010 - 13:20

спасибо большое, работает!

правда, обработка в экселе в данном случае не очень удобна, так как максимальое количество строк - не более около 65000 - максимум, который вмещает эксель sheet.
awk script наверняка удобнее.
  • 0

#4 elvistudio

elvistudio

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Стжалковский Александр
  • Город:Москва

Отправлено 19 ноября 2010 - 14:18

а вот и решение - спасибо гуглу, http://unstableme.bl...le-columns.html и моему мозгу:)
awk 'BEGIN {} {n[$1]++; s_[$1] += $2; c_[$1]++} END {for (i in n){print i,s_[i]/c_[i]}}' logfile
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных