Seite 1 von 1

ADS Auslastung

Verfasst: Mi, 24. Mär 2021 11:55
von Jan
Moin,

gibt es irgend eine Möglichkeit festzustellen, welcher User oder Client den ADS knechtet?

Situation: Der ADS ist auf einem eigenen Server Windows 2016 installiert. Da läuft nichts anderes drauf. Seit einigen Tagen ist der Netzwerktraffik extrem hoch, zu erkennen am Taskmanager und an Netzerktools. Es wäre gut zu wissen wer das auslöst, oder welche Prozesse.

Ansonsten verhält der ADS sich relativ unauffällig. Der Taskmanager sagt mir das der 1,7 von 8 GB RAM nutzt, und der Prozessor sich meist um die 50% Auslastung bewegt.

Jan

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:08
von Tom
Wenn der Netzwerktraffic und einzelne Auslastungen in die Höhe gehen, würde ich erstmal ProcMon und FileMon darauf ansetzen. www.sysinternals.com

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:16
von Jan
Hallo Tom,

gute Idee. Das Problem ist nur daß das natürlich extrem mächtige Werkzeuge sind, mit entsprechend vielen Datenmengen bzw. Konfigurationsschritten. Von daher hatte ich gehofft das es irgend welche ADS-Bordmittel gibt, mit denen man sowas grob auslesen kann.

Jan

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:29
von Tom
Hallo, Jan.

Bei ProcMon und FileMon sind vor allem die Filter entscheidend. Wenn Du auf Pfade/Anwendungen eingrenzt, werden die Informationen auch verständlicher.

Ansonsten hat die ADS-API einige Funktionen. Wir haben auf dieser Basis mal eine Serverkonsole entwickelt, die in der Anwendung Auskunft über alles mögliche liefert (Connections, geöffnete Tabellen, Verarbeitungsmenge), aber Auslastungsdaten waren m.E. nicht dabei:
https://devzone.advantagedatabase.com/d ... ctions.htm

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:31
von nightcrawler
Hallo Jan,
Du könntest bei niedriger und bei hoher Belastung mal die aktuellen Internals auslesen und vergleichen. Einfach folgendes Script zum sichern der internen Informationen laufen lassen:

Code: Alles auswählen

declare @s string;
declare @err string;
@err=(select value from (execute procedure sp_mggetconfiginfo()) mg where item like 'Error Log Path');
@err=trim(@err)+'\ads_err.adt';
@s=replace(replace(replace(cast(now() as sql_char),':','-'),' ','-'),'.','-');
execute immediate 'select * into ['+@s+'\ads_err] from ['+trim(@err)+']';
execute immediate 'select * into ['+@s+'\ActivityInfo] from (EXECUTE PROCEDURE sp_mgGetActivityInfo()) a;';
execute immediate 'select * into ['+@s+'\UsageInfo] from (EXECUTE PROCEDURE sp_mgGetUsageInfo()) a;';
execute immediate 'select * into ['+@s+'\CommStats] from (EXECUTE PROCEDURE sp_mgGetCommStats()) a;';
execute immediate 'select * into ['+@s+'\ConnectedUsers] from (EXECUTE PROCEDURE sp_mgGetConnectedUsers()) a;';
execute immediate 'select * into ['+@s+'\SQLStatements] from (EXECUTE PROCEDURE sp_GetSQLStatements()) a;';
execute immediate 'select * into ['+@s+'\ConfigMemory90] from (EXECUTE PROCEDURE sp_mgGetConfigMemory90()) a;';
execute immediate 'select * into ['+@s+'\CacheInfo] from (EXECUTE PROCEDURE sp_mgGetCacheInfo()) a;';

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:37
von Jan
Tom,

solch eine ADS-Konsole habe ich auch mal geschrieben. Besonders interessant sind da die Angaben, wer gerade welchen Satz sperrt. Was man ja sonst eher nicht herausbekommen kann. Aber ich kann mich nicht erinnern da irgend was zu Auslastungen gelesen zu haben in der Doku - wobei das auch schon ein paar Jahre her ist. Vielleicht sollte ich da noch mal einen Blick rein werfen.

Im ProcMon habe ich übrigens ganz auf die Schnelle zumindest gesehen, das eine Vielzahl der Zugriffe immer auf die gleiche Tabelle geht. Das wäre schon mal ein erster Ansatzpunkt, wo ich suchen könnte.

Jan

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:39
von Jan
Joachim,

sieht etwas aufwändiger aus. Danke für die Mühe.

Aber leider gibt mir das sofort eine Fehlermedlung aus:

Code: Alles auswählen

poQuery: Error 7200:  AQE Error:  State = HY000;   NativeError = 7016;  [SAP][Advantage SQL Engine][ASA] Error 7016:  Corrupt table.  Make sure you are not attempting to open a DBF with an ADT table type or vice versa.  C:\ADS-Log\ads_err.adt Table name: 
C:\ADS-Log\ads_err.adt  - EXECUTE IMMEDIATE  -- Location of error in the SQL statement is: 273 (line: 6 column: 19)
Jan

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 12:50
von Tom
Die API liefert Dir die gleichen Daten, die die Requests liefern, die Joachim gepostet hat. CommStats und CacheInfo liefern leider nichts, mit dem Du weiterkämst.

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 13:13
von Marcus Herz
im Arc gibt es ein Register in der Management Seite: Active queries. Vielleicht kannst du da ja sehen, wer gerade Performance beansprucht.

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 14:12
von Jan
Marcus,

das ist leer. Weil wir per DB-Funktionen auf FOXCDX gehen? Kein SQL machen?

Jan

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 15:36
von Marcus Herz
bleibt die Auslastung so hoch, wenn du mal neu startest? (Ich wei0, das kann man im produktiv system nicht so ohenweiteres, aber einmal muss es halt doch sein)

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 15:45
von Jan
Marcus,

ja, das hatte ich für morgen früh um 5:00 Uhr geplant - dann bin ich ohnehin wach, und egal wie lange die Kunden abends oder nachts noch auf den Systemen rumturnen, so früh morgens bin ich da immer alleine :-D

Ich befürchte aber daß das nicht so viel bringen wird. Lt. dem Admin sind die Netzerwerkwerte auf diesem Server seit gut zwei Wochen so hoch. Und ich hatte den Server zwischendurch wegen der MS-Updates schon mal neu gestartet. Was keine Delle in der Kurve verursacht hat. Aber versuchen wollte ich das natürlich trotzdem.

Jan

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 17:12
von Marcus Herz
dann hilft nur ein Netzwerk Sniffer. Am Ende hats gar nichts mit dem ADS zu tun, Wenn in der Früh um 5:00 niemand auf dem ADS ist, warum dann Netzwerktraffic?? da ist doch was anderes faul!

Re: ADS Auslastung

Verfasst: Mi, 24. Mär 2021 17:16
von Jan
Marcus,

Mißverständnis. Nachts dümpelt der Server nur vor sich hin mit 24/7-Programmen. Heftig wird das tagsüber wenn die Mitarbeiter da drauf rumturnen zu ihren normalen Arbeitszeiten.

Jan

Re: ADS Auslastung

Verfasst: Do, 25. Mär 2021 8:37
von nightcrawler
Jan hat geschrieben: Mi, 24. Mär 2021 12:39 Aber leider gibt mir das sofort eine Fehlermedlung aus:

Code: Alles auswählen

poQuery: Error 7200:  AQE Error:  State = HY000;   NativeError = 7016;  [SAP][Advantage SQL Engine][ASA] Error 7016:  Corrupt table.  Make sure you are not attempting to open a DBF with an ADT table type or vice versa.  C:\ADS-Log\ads_err.adt Table name: 
C:\ADS-Log\ads_err.adt  - EXECUTE IMMEDIATE  -- Location of error in the SQL statement is: 273 (line: 6 column: 19)
Verbinde Dich mit einer Connection vom Type ADT ;)