Forum Delphi.cz

Delphi => FireDAC => Téma založeno: forget123 07-07-2017, 10:31:08

Název: FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: forget123 07-07-2017, 10:31:08
Mam v XE6 aplikaciu pouzivajucu FireDac. Da sa nejak v aplikacii odmerat kolko MB dat firedac preniesol? Pripadne ak to nejde da sa to nejak sledovat pre celu aplikaciu? Alebo nejak inak? Idealne aby som nemusel instalovat 3rd party softver (mam windows 10)
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: 96460 07-07-2017, 10:44:18
Nevim o nicem takovem. Jaky driver konkretne pouzivate? Jde o mnostvi dat z klienta na server, opacne nebo na obe strany?
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: Stanislav Hruška 07-07-2017, 11:04:05
Asi to nebude to čo hľadáš, ale je tam TFDMetaInfoQuery + mkPackages. Neviem ako to funguje a študovať sa mi to nechce.
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: 96462 07-07-2017, 11:27:31
Asi to nebude to čo hľadáš, ale je tam TFDMetaInfoQuery + mkPackages. Neviem ako to funguje a študovať sa mi to nechce.

To nema s mnozstvim prenesenych dat vubec nic spolecneho. Nebo zase chapu dotaz uplne jinak? V cesku uz neziju nejaky ten patek...

TFDMetaInfoQuery je urcene k ziskavani meta informaci objektu databaze. FireDAC znam pomerne dobre na to abych tvrdil, ze takove mereni neexistuje (muzu se plest, ale nevymyslim si, jak si mnozi tady mysli). Maximalne bych tipoval FireDAC monitor, ale ani tam to nevypada ze se tento udaj meri.
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: forget123 07-07-2017, 11:43:04
Driver je informix. Nejak inak sa to neda merat?
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: pf1957 07-07-2017, 12:07:27
Driver je informix. Nejak inak sa to neda merat?
Co sledovani prostredku | sit?
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: 96465 07-07-2017, 12:09:39
Driver je informix. Nejak inak sa to neda merat?

Jde o ODBC API driver (prosim neplest s ODBC drivery a jejich zastaralosti, jde o ODBC API). ODBC samotne nenabizi (pokud vim) zadnou takovou statistiku, tzn. ze si driver neuchovava pocet prenesenych bytu pro pripojenou session (mozne je profilovani (https://docs.microsoft.com/en-us/sql/relational-databases/native-client-odbc-how-to/profiling-odbc-driver-performance-data), jestli vsak obsahuje pocet prenesenych bytu nevim a nemuzu momentalne overit).

A na to zda dokaze Informix DBMS logovat pocet prenesych bytu taky bohuzel nedokazu odpovedet. Nektere DBMS si takovou statistiku vytvari. Drivery, stejne jako FireDAC tohle nejspis sledovat nebudou kvuli "nezajmu" o tuto informaci.

Driver je informix. Nejak inak sa to neda merat?
Co sledovani prostredku | sit?

No jo, ale co kdyz se ze stejneho stroje taha vic nez jen data z DBMS?
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: Radek Červinka 08-07-2017, 18:07:02
Zkus se podívat na TFDMoniFlatFileClientLink resp. TFDMoniCustomClientLink, pokud to nepujde přes tohle, tak nevím.
Název: Re:FireDac - Jak otestovat mnozstvo prenesenych dat
Přispěvatel: 96468 08-07-2017, 18:52:34
Zkusil bych neco takoveho (netestovano):

Kód: MySQL [Vybrat]
  1.    net_read_bytes, -- smer klient server
  2.    net_write_bytes -- smer server klient
  3.    sysnetworkio
  4.    sid = DBINFO('sessionid')

Bohuzel sloupce nejsou zdokumentovane (https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.adref.doc/ids_adr_0239.htm). Jo a jeden z nich vracel vzdy 0, viz. IC66855 (http://www-01.ibm.com/support/docview.wss?uid=swg1IC66855).