Конференция "Сети" » Трафик [MSSQL]
 
  • sippim (04.12.15 15:55) [0]
    есть прога, которая обменивается данными с sql сервером по ado. Вопрос: можно ли как то в ней мерить вх-исходящий трафик в байтах по порту 1433?
  • Rouse_ © (04.12.15 16:28) [1]
    сплайсишь локально send()/recv()  и считаешь
  • sippim (04.12.15 17:45) [2]
    ? сплайсишь
  • sippim (04.12.15 17:47) [3]
    это каким компонентом делается? это каким компонентом делается? или почитать где?
  • Rouse_ © (04.12.15 21:12) [4]
    Дык это не компонентом делается а ручками.
    А почитать, ну к примеру вот тут:
    http://alexander-bagel.blogspot.ru/2013/01/intercept.html
    http://alexander-bagel.blogspot.ru/2013/05/intercept2.html
  • sippim (04.12.15 22:44) [5]
    спасибо.
    ппц. а попроще никак? и что-то я там не вижу про сетевой перехват.

    а нельзяли с помощью инди что-то типа простого прокси сделать на 1433 и просто считать траф?
  • Rouse_ © (04.12.15 22:58) [6]
    Через прокси можно
  • sippim (05.12.15 00:54) [7]
    можете хотябы направление дать куда копать? или что в основу взять? хотябы зацепку, далее разберусь, а сейчас не на йоту не продвинулся и в инете както мало инфы (или ищу не то). про инди - это просто мысля пришла (как то читал про их проксю для http). или может еще чего е? а может в родных компонентах адо что-то е, отвечающее за кол-во байт передачи\приема?
  • sippim (05.12.15 00:58) [8]
    потом, на сколько понимаю, нельзя порт слушать, если он уже занят. во кудато бы его зазеркалить... правильно думаю или в дельфи такое нельзя?
  • Rouse_ © (05.12.15 01:03) [9]
    Ну берешь любой прокси потом просто в настройках своей программы указываешь его параметры и все, программа работает а ты на прокси считаешь ее трафик
  • Rouse_ © (05.12.15 01:04) [10]
    Я просто пока не понимаю в чем причина затруднений у тебя, поэтому толком и подсказать не могу
  • sippim (05.12.15 01:26) [11]
    ммм..

    еще раз.

    есть прога, в ней адоконнект, адодатасет

    раз в час прога делает

    - коннектится к серваку, если он доступен, в адодатасет открывает таблицу с именами пк, ищет там имя своего пк (пк клиента, определяет предварительно)
    - если нашла - выход (еще есть параметр в табличке - t\f флаг опроса - если он есть - опрос не производится если нет - перезаписываются только измененные параметры в строке таблицы)
    - если нет - производит опрос железа (память, проц, хдд и тп) и записывает в таблицу на сервере новую строку.

    на серваке из этой sql таблицы формируется html страничка с "пк организации".

    пк более 1000 (сервер в ЦО), регионов много, связь не везде стабильная.

    старт проги пройсходит по шедулеру с рандомом 10 мин + в самой проге есть рандомное откладывание старта на 5 мин. если прога запущена - вторая копия не запускается. в шедулере работа проги прекращается через 10 мин, если "".

    ща админы начали грузить, что прога создает "охренеть какой траф".
    при разбирательстве и просмотре графиков вижу, что с сервера затаскивается около 20 мб инфы каждым клиентом, по 1433 (подозреваю, что прога затаскивает таблицу целиком, а потом в ней ищет себя). это как бы решено - сделал курсор адо server (стало примерно пр\пер 100-300\100 кб).

    но все равно, вопрос остается открытым (самому интересно): как, при старте проги до ее закрытия, посчитать, сколько пришло и сколько ушло трафика вот по 1433 (sql) запросам (ну и потом в лог их вставить, уже мало важно).
  • sippim (05.12.15 01:33) [12]
    ++
    да - средствами самой проги
  • Rouse_ © (05.12.15 01:59) [13]
    Давай так, подождем немного ребят, которые специализирутся по базам, а если они не смогут помочь то я попробую рассказать как это сделать в лоб
  • sippim (05.12.15 02:10) [14]
    ок, хороших выходных
  • Игорь Шевченко © (06.12.15 14:58) [15]
    Microsoft network monitor

    Средствами программы - во-первых, нафига, во-вторых, программа не имеет доступа (чаще всего) к той части клиента, которая создает трафик.

    Базы тут не при чем.
 
Конференция "Сети" » Трафик [MSSQL]
Есть новые Нет новых   [118667   +46][b:0][p:0.001]