[NEWSboard IBMi Forum]
Seite 4 von 5 Erste ... 3 4 5 Letzte
  1. #37
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Varchar ist hier absolut zu vernachlässigen, insbesonders da neuere Anwendungen grundsätzlich den Unicode-Varchar (nvarchar) verwenden.

    Das Hauptproblem der meisten M$-Programmierer ist, das SQL's in den Programmen zusammengestrickt werden an Stelle vernünftige Command-Objekte mit Parametern zu verwenden.
    Die gestrickten SQL's lassen sich in 99,9% in statische SQL's umbauen.

    Aber hier ist teilweise die Historie Schuld, da ADO.NET mit 2.0 erst gute Designer zur Verfügung stellt, die diese Objekte generieren.

    Ich war ja gerade erst bei einem Kunden, der genau diese Probleme auch hatte.
    Ein paar wenige Änderungen von ständig gestrickten SQL's zu parametrierten Abfragen änderte die Antwortzeit von ca. 2 Sekunden auf quasi sofort!
    Mehrere zusammengebaute Inserts mit einem InsertCommand ersetzt kann bis zu 1000 Inserts pro Sekunde an statt 10 schaffen!

    Ausserdem geht beim zusammenbauen von SQL's auch nicht unwesentlich Zeit bereits auf dem Client verloren, da hier sehr extensives Stringhandling (Speicherverwaltung) betrieben wird.

    Beispiel verdoppeln Hochkomma, ersetzen Dezimalkomma:

    myStr = "select blabla from ... where key='" + string.replace(KeyChar, "'","''") + "' and KeyNum = " + string.replace(format(NumValue, "#.##"), ",", ".") ....
    Anschließend muss ein Commandobjekt erstellt, ausgeführt und wieder verworfen werden, auch das dauert.

    Und noch schlimmer wirds beim Zusammenbau von Update/Inserts.

    Es kommt hier insbesoners auf die Methodik an. Aber die meisten kümmern sich ja eher um die schöne Gui als das, was dahinter steckt.
    Auch einen SQL-Server kann ich da locker in die Knie zwingen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #38
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Zitat Zitat von HerbertW Beitrag anzeigen
    Hallo Dieter + Holger,

    auf SQL-Server getestet haben wir noch nicht.
    Wir dachten, dass die AS400 die 4 bis 5 Anwender der Personalabteilung schon noch verkraften kann, wo sie doch mit den ca. 500 nativen Anwendern nur selten ausgelastet ist. Sparen wir uns die Lizenz für die MS-DB und den Server.

    Es ist aber ein Problem, wenn AS400-Anwender, die im Green-Screen blitzschnelle Antwortzeiten gewohnt sind, mit einer GUI konfrontiert werden, die sich vieeel Zeit lässt.

    Wie gesagt, die Anwendung ist neu, es sind zwar Daten von der Altanwendung übernommen worden, aber der Datenbestand beginnt ja erst zu wachsen.
    Die Antwortzeiten werden sich in Zukunft also kaum verbessern.

    Für jeden Tip, der zur Verbesserung führt, bin ich dankbar. Aber an der DB kann ich wohl kaum drehen, z.B. VARCHAR in fix umstellen.

    Gruß
    Herbert
    Hallo Herbert,

    für Geld kann ich dir da sicherlich weiterhelfen
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #39
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... mit dem Database Monitor sähe man da relativ schnell klarer, ob es da an Zugriffspfaden mangelt, oder ob die Software eher Saftware ist... Allerdings ist der Loga Kram ja für DB2/400 freigegeben, ich würde da dem Hersteller mal fragen, ob man nicht für ihn Reklame machen sollte...

    D*B


    Zitat Zitat von HerbertW Beitrag anzeigen
    Hallo Dieter + Holger,

    auf SQL-Server getestet haben wir noch nicht.
    Wir dachten, dass die AS400 die 4 bis 5 Anwender der Personalabteilung schon noch verkraften kann, wo sie doch mit den ca. 500 nativen Anwendern nur selten ausgelastet ist. Sparen wir uns die Lizenz für die MS-DB und den Server.

    Es ist aber ein Problem, wenn AS400-Anwender, die im Green-Screen blitzschnelle Antwortzeiten gewohnt sind, mit einer GUI konfrontiert werden, die sich vieeel Zeit lässt.

    Wie gesagt, die Anwendung ist neu, es sind zwar Daten von der Altanwendung übernommen worden, aber der Datenbestand beginnt ja erst zu wachsen.
    Die Antwortzeiten werden sich in Zukunft also kaum verbessern.

    Für jeden Tip, der zur Verbesserung führt, bin ich dankbar. Aber an der DB kann ich wohl kaum drehen, z.B. VARCHAR in fix umstellen.

    Gruß
    Herbert
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #40
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo Herbert,
    ich glaube wir alle haben schon mal solche Probleme gehabt. Unabhängig ob jetzt DB2, Oracle, MSSQL oder sonst ein System. Für mich klingt das einfach nach einem schlecht konfigurierten System und einer schlecht umgesetzten Applikation.
    Wenn der Index Advisor so viele Indizes vorschlägt, dann kann irgendwas nicht richtig gemacht worden sein.
    Die Frage ist jedoch auch, wie alt die Vorschläge sind und wie oft sie benötigt werden?
    Auslastung und Job-Prioritäten des Systems spielen da eine nicht unwesentliche Rolle!
    Wenn der SW-Hersteller meint, die DB2 sei ungeeignet, bedeutet das für mich nichts anderes, als dass sie sich mit der DB2 eben nicht so gut auskennen.
    Schließlich gibt es genug Applikationen in .Net und sonst was geschrieben, die keine Performanceprobleme haben und auch mit riesen Datenmengen arbeiten (wie Bender auch schon geschrieben hat).

    Lange Rede kurzer Sinn: Ich glaube nicht, dass es mit "einfach nur auf MSSQL umstellen" getan ist.

  5. #41
    Registriert seit
    Mar 2008
    Beiträge
    34
    Zitat Zitat von holgerscherer Beitrag anzeigen
    Heutzutage wird ja lieber "generell" gearbeitet und dann geschaut, was das Blechle draus macht.
    Ich glaube, das trifft es am besten.

    Kann man es so sagen: ?
    Es gibt Systeme, die akzeptieren "generelle" Entwicklung klaglos und dann gibt es andere Systeme (AS/400), die das nicht tun. Bei diesem anderen System muss halt etwas mehr Gehirnschmalz investiert, d.h. mehr Entwicklungsaufwand getrieben werden, wenn es anständig laufen soll. Es kann vernünftig laufen, keine Frage, aber eben nur mit höherem Aufwand. Da aber die Entwicklungszeit DER Kostenfaktor eines SW-Hauses ist, kann ich mir vorstellen, dass beim Wettlauf der Systeme die AS400 immer mehr ins Hintertreffen gerät, wenn es sich nicht gerade um einen SW-Hersteller handelt, der sich traditionell diesem System verpflichtet fühlt.

    Hier noch einige Daten zu der Anwendung:
    1265 Tabellen
    883 Indizes vorgesehen
    2474 Indizes vom Advisor vorgeschlagen (vor 1 Woche zurückgesetzt)
    2056 Triggerprogramme

    Jedes Datumsfeld als langen Zeitstempel defniert. Scheint auch so eine "generelle" Entwicklung zu sein. Wäre mir im Traum nicht eingefallen.
    Was soll die Millisekunde beim Eintrittsdatum?
    Jedes alphanum. Feld, auch unzählige 1-stellige Kennzeichen, mit VARCHAR definiert hatte ich schon erwähnt. Diese Felder wie Mandant oder Lohnart sind Teil von jedem Index. Bei einem langen Textfeld leuchtet mir ja noch ein, dass man damit Platz sparen kann. Aber hier wird kein Platz gespart, im Gegenteil.

  6. #42
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Die Anzahl der Indexe ist schon verdächtig niedrig, selbst bei konsequenter Nutzung von primary keys und referential constraints ist das wenig und jeder fehlende Zugriffspfad wird mit Laufzeit abgestraft (Genau das erkennt man mit dem Database Monitor).

    Was die Timestamps angeht, das ist auf der AS/400 sicher kein Problem, Varchar eher auch nur nachrangig.

    D*B

    Zitat Zitat von HerbertW Beitrag anzeigen
    Hier noch einige Daten zu der Anwendung:
    1265 Tabellen
    883 Indizes vorgesehen
    2474 Indizes vom Advisor vorgeschlagen (vor 1 Woche zurückgesetzt)
    2056 Triggerprogramme

    Jedes Datumsfeld als langen Zeitstempel defniert. Scheint auch so eine "generelle" Entwicklung zu sein. Wäre mir im Traum nicht eingefallen.
    Was soll die Millisekunde beim Eintrittsdatum?
    Jedes alphanum. Feld, auch unzählige 1-stellige Kennzeichen, mit VARCHAR definiert hatte ich schon erwähnt. Diese Felder wie Mandant oder Lohnart sind Teil von jedem Index. Bei einem langen Textfeld leuchtet mir ja noch ein, dass man damit Platz sparen kann. Aber hier wird kein Platz gespart, im Gegenteil.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #43
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich kann mir auch nicht vorstellen, dass diese Art der Programmierung bei einem SQL-Server unkritisch sein soll.

    Und was die "schnelle" Entwicklung angeht, so unterstützt doch gerade .NET die automatische Generierung von Typed-Datasets, Command's, DataAdapter usw. die dann gerade mit parametrierten Command's arbeitet.
    Die Entwicklungszeit reduziert sich damit z.T. drastisch, weil mir .NET erheblich Arbeit abnimmt.
    Dies ist dann auch meist so datenbankneutral, dass der simple Austausch der Connection dann mit jedem System funktioniert.

    Ausserdem führst du hier Trigger auf. Auch diese können "schlecht" und damit unperformant realisiert sein und zur Bremse werden.

    Wie gesagt, eine "schnelle" Programmierung setzt sowieso den Einsatz einer toolgestützten Entwicklung voraus um
    a) schneller fertig zu werden
    b) performante SQL's zu erstellen
    c) Dokumentation zu automatisieren
    d) ... und viele weitere Gründe

    Ein Quick-und-Dirty zusammengeschusterter SQL ist nie eine langfristig performante Angelegenheit.

    Ggf. untersuche mal die Sperren eines QZDASOINIT-Job's und suche nach der Art *SQLPKG (meist in der QGPL angelegt).
    Per PRTSQLINF kannst du dir dann die SQL-Befehle und die gespeicherten Zugriffspfade ansehen.

    Anmerkung:
    Häufig wird auch vergessen, den .NET-DataReader nach EOF (Fill-Methode) zu schliessen und zu disposen, was dazu führt, dass bei wiederholtem Ausführen des Commands mit einem neuen DataReader auch die Datei (ODP, Cursor) nicht wiederverwendet werden kann (der Cursor ist ja noch offen).
    Auch dies führt zu nicht unerheblichen Performanceverlusten.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #44
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von HerbertW Beitrag anzeigen
    Kann man es so sagen: ?
    Es gibt Systeme, die akzeptieren "generelle" Entwicklung klaglos und dann gibt es andere Systeme (AS/400), die das nicht tun. Bei diesem anderen System muss halt etwas mehr Gehirnschmalz investiert, d.h. mehr Entwicklungsaufwand getrieben werden, wenn es anständig laufen soll. Es kann vernünftig laufen, keine Frage, aber eben nur mit höherem Aufwand. Da aber die Entwicklungszeit DER Kostenfaktor eines SW-Hauses ist, kann ich mir vorstellen, dass beim Wettlauf der Systeme die AS400 immer mehr ins Hintertreffen gerät, wenn es sich nicht gerade um einen SW-Hersteller handelt, der sich traditionell diesem System verpflichtet fühlt.
    Hallo Herbert,
    Mutig, mutig sowas in einem AS/400 Forum zu schreiben
    Wenn du diese "generelle" Entwicklung auf ein anderes System installierst und dort gibt es keine Probleme, dann kannst du gerne sowas schreiben, aber ohne irgendwas getestet zu haben und zu behaupten, dass die AS/400 nicht geeignet wäre, finde ich naiv. Tut mir leid, wenn das jetzt etwas hart klingt, aber genau damit fängt die Problematik an. Und damit meine ich auch euren SW-Hersteller.

    Außerdem ein kleiner Tip von mir: Wenn man sich mit einem System (zb AS/400) nicht auskennt, am besten eine Schulung nehmen.

  9. #45
    Registriert seit
    Mar 2008
    Beiträge
    34
    Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
    Wenn man sich mit einem System (zb AS/400) nicht auskennt, am besten eine Schulung nehmen.
    Ich bin seit /34-Zeiten dabei und seit Anfang an immer ein Fan der AS400.
    Offenbar sind das aber nicht alle SW-Hersteller, die zwar das System (halbherzig?) unterstützen weil es doch einige Kunden im Einsatz haben, dann aber darauf hinweisen, man solle für diese Lösung lieber eine andere Platform wählen, weil es erst damit richtig Spaß macht. Und dies muss man dem SW-Hersteller erst mal glauben, denn er hat verschiedene Systeme getestet.

  10. #46
    Registriert seit
    Jul 2005
    Beiträge
    1.053
    Nennt mich kleinkariert

    Aber wenn ich eine AS/400 im Betrieb habe und immer zufrieden damit gewesen bin.

    Hätte so ein SW Anbieter keine Chancen bei mir

    Auf den Spruch "Für unsere SW brauchen Sie eine andere HW damit es Spaß macht"

    Würde mir raus Rutschen "es geht mir nicht um Spaß, Wenn Ihre SW nicht Funktioniert suche ich mir einen Anbieter dessen SW Funktioniert"

    Gruß AS400.lehrling

  11. #47
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Was hindert dich eigentlich die Indizes anzulegen ?
    Pro Tabelle 4-5 Indizes ist doch eher der Normalfall. Schaden tuts jedenfalls nicht sondern bringt die Performance.

    Der SQL-Server oder MySQL legen doch Indizes meist automatisch an und keinen störts.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #48
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Und am besten die neuen Indizes auch an den SW-Hersteller melden, damit der die bei sich auch gleich anlegt.

Similar Threads

  1. FTP von der AS400 -> zum PC sehr langsam
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-03-06, 09:26
  2. FTP AS400 -> AS400 -> PC
    By codierknecht in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 07-10-05, 08:16
  3. AS400 "spamt" im Win Netz
    By theyeti in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 22-09-05, 15:12
  4. FTP LOGIN über PC auf AS400
    By harkne in forum IBM i Hauptforum
    Antworten: 19
    Letzter Beitrag: 01-09-05, 08:53
  5. PC Verbindung mit AS400 / Hardwarefrage
    By Kagerbauer in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 20-10-01, 12:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •