none
Programm langsam unter Windows 7

    Frage

  • Guten Tag

    Hat jemand eine Idee warum das gleiche Programm im gleichen Netztwerk unter Windows 7 viel langsamer läuft als auf einem alten XP Rechner?

    Folgendes: Access 2010 als accde verteilte Anwendung welche unter Access 2010 Runtime läuft. Runtime mit SP1 nachgerüstet.

    Frontend auf dem Client lokal installiert unter C:\XY\Anwendung.accde  Tabellen sind eingebunden von SQL Server der Zugriff erfolgt über ODBC. Jeder Rechner hat die gleichen ODBC Einstellungen.

    Auf dem Windows 7 Rechner (Ein Notebook) ist das starten der Applikation ungefähr gleich schnell. Jedoch das öffnen eines Formulars mit Register und mehreren Unterformularen dauert ca 4mal so lange wie auf den XP Rechnern welche Hardware mässig älter und eigentlich langsamer sind.

    Ich habe überall gesucht und kann mir einfach nicht erklären wo es harzt.

    Hat jemand eine Idee wo ich suchen soll? Netzwerk, DNS, Windows Firewall (hab ich ausgeschaltet hat nichts gebracht)

    Danke

    Gruss Markus

    Dienstag, 24. Januar 2012 19:01

Antworten

  • Guten Tag

    Endlich konnte das Problem gelöst werden. Danke Winfried für Deine Unterstützung leider haben die Hotfixes und Patches nichts gebraucht. Auch das Wechseln zum Native Treiber löste das Problem nicht.

    Erst ein Tip eines Netzwerkspezialisten hat den gewünschten Erfolg gebracht.

    Ich musste den Server im HOSTS File auf dem Windows 7 PC eintragen die liegt im Windows\System32\Driver\etc Verzeichnis. Der Datei musste man zuerst Berechtigungen zuteilen dann konnte ich die IP Adresse und den Servernamen dort eintragen.

    Sofort nach diesem Eintrag war das Programm blitzschnell wie es auf den XP PC auch ist.

    Ich gebe jedem der jetzt den Finger aufhebt und sagt HOSTS unter Windows 7 soll nicht mehr sein, das Netzwerk ist sicher nicht korrekt eingerichtet recht, doch kann ich vom Kunden nicht verlangen dass er Stunden und Geld aufwendet um das von einem Profi korrekt einrichten zu lassen (ich habs übrigens auch nicht gemacht) wenn es doch auf den anderen PC geht. Dort ist der Server übrigens nicht eingetragen.

    Also Problem gelöst, es lag wie ich immer vermutet am Netzwerk und nicht an der Applikation.

    Gruss Markus

    • Als Antwort markiert Markus Wenger Dienstag, 7. Februar 2012 16:39
    Dienstag, 7. Februar 2012 16:39

Alle Antworten

  • Am 24.01.2012 schrieb Markus Wenger:

    Auf dem Windows 7 Rechner (Ein Notebook) ist das starten der Applikation ungefähr gleich schnell. Jedoch das öffnen eines Formulars mit Register und mehreren Unterformularen dauert ca 4mal so lange wie auf den XP Rechnern welche Hardware mässig älter und eigentlich langsamer sind.

    Welcher Code läuft ab beim öffnen des Formulars? Reduziere doch mal
    den Code vollständig, dann Stück für Stück hinzufügen. Füllst Du die
    Recordsource aller Register bereits beim starten des Formulars?

    Hat jemand eine Idee wo ich suchen soll? Netzwerk, DNS, Windows Firewall (hab ich ausgeschaltet hat nichts gebracht)

    Nein, das ist sicherlich nicht der Grund für die Verzögerung. Die
    Windows FW wieder einschalten.

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Dienstag, 24. Januar 2012 20:40
  • Hallo Winfried

    Beim öffnen des Formulars werden via Code nur ein paar Defaultwerte auf dem Formular gesetzt. Natürlich wird das Formular via  docmd.OpenForm "Formular",acNormal,,"KLI_ID = 5",acFormPropertySettings,acWindowNormal geöffnet und zieht genau 1 Datensatz an. Der Zugriff erfolgt via PK der Tabelle.

    Auf den verschiedenen UFO werden allenfalls vorhandene Daten aus anderen tabellen angezeigt. Diese Zugriffe erfolgen alle via Foreign Key (dieser ist in sämtlichen Tabellen indiziert). Die UFO sind alle mit den Eigenschaften Verknüpfen von und Verknüpfen nach also z.B. KLI_ID bei Verknüpfen nach und DOC_KLI_ID bei Verknüpfen von eingesetzt.

    Das lansame Verhalten tritt auch auf wenn es in sämtlichen Unterformularen noch gar keine Daten hat.

    Ich bin aber skeptisch dass das Verhalten mit dem Code oder sonst etwas innerhalb der Applikation zu tun haben soll. Die identische accde Datei läuft ja auf einem Windows XP Rechner mit Access 2010 Runtime schnell. Nur auf der Windows 7 Maschine ist es deutlich langsamer. Ich denke es hat eher etwas mit dem Verhalten im Netzwerk und dem Verbinden zum SQL Server zu tun. Sollte ich ev. in einmaneren Forum nchfragen? Ha mi einfach gedacht viellecht kennt ein anderer Access Entwickler ein ähnliches Verhalten und die Lösung dazu.

    Gruss Markus

    Donnerstag, 26. Januar 2012 13:35
  • Am 26.01.2012 schrieb Markus Wenger:

    Beim öffnen des Formulars werden via Code nur ein paar Defaultwerte auf dem Formular gesetzt. Natürlich wird das Formular via  docmd.OpenForm "Formular",acNormal,,"KLI_ID = 5",acFormPropertySettings,acWindowNormal geöffnet und zieht genau 1 Datensatz an. Der Zugriff erfolgt via PK der Tabelle.

    Auf den verschiedenen UFO werden allenfalls vorhandene Daten aus anderen tabellen angezeigt. Diese Zugriffe erfolgen alle via Foreign Key (dieser ist in sämtlichen Tabellen indiziert). Die UFO sind alle mit den Eigenschaften Verknüpfen von und Verknüpfen nach also z.B. KLI_ID bei Verknüpfen nach und DOC_KLI_ID bei Verknüpfen von eingesetzt.

    Das lansame Verhalten tritt auch auf wenn es in sämtlichen Unterformularen noch gar keine Daten hat.

    Tritt das Verhalten auch auf, wenn es keine UFOs in dem HF gibt?

    Ich bin aber skeptisch dass das Verhalten mit dem Code oder sonst etwas innerhalb der Applikation zu tun haben soll. Die identische accde Datei läuft ja auf einem Windows XP Rechner mit Access 2010 Runtime schnell. Nur auf der Windows 7 Maschine ist es deutlich langsamer. Ich denke es hat eher etwas mit dem Verhalten im Netzwerk und dem Verbinden zum SQL Server zu tun. Sollte ich ev. in einmaneren Forum nchfragen?

    Ist der Start des Formulars nur beim ersten Aufruf langsam oder danach
    auch?

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
    Reg2xml:  http://www.reg2xml.com - Registry Export File Converter

    Donnerstag, 26. Januar 2012 18:42
  • Es stimmt unter w7 laufen die MDB-Pgm langsamer!

    "Früher"  W2k (AltePC 1200Hhz-512MB-100MbNetwork) mit A97 => PGM starten +-1.5sek.

    jetzt W7-32 (3.4Ghz I7 8GB 1GbNetwork) mit A97 => 3sek.

    Warum?

    HauptPgm auf PC und "Daten" auf den GLEICHEN Server wie früher!!

    Wird alles auf dem PC geladen ist die Geschindigkeit TOP. Netzwerk SQL probleme?

    (Netzwerk bringt 75MB/s beim Datentransfer)

    Gruß

    Freitag, 27. Januar 2012 07:09
  • Hallo

    Tritt das Verhalten auch auf, wenn es keine UFOs in dem HF gibt?

    Ja das öffnen eines Formulars ohne Recordsource wie eine Suchmaske mit 6-8 Felder zum Suchekriterien einzugeben, einem Suche Starten Knopf sowie einem List Control welches dann die Ergebnisse anzeigt öffnet sich auch etwas langsamer als auf den XP Rechnern. Es ist aber natürlich nur ein sehr kleiner Unterschied vorhanden.

    Ist der Start des Formulars nur beim ersten Aufruf langsam oder danach
    auch?

    Lasse ich das Formular mit den UF geöffnet und springe durch setzen eines neuen Filters "KLI_ID = 6" (anstelle vorher z.B. 5) so dauert es auch länger bis die Daten angezeigt werden als auf den XP Rechnern. Es ist aber schneller als wenn das Formular geöffnet wird, das ist aber ja auf den anderen PC auch so dass es schneller ist da das Formular an sich ja bereits da ist.

    Beim starten der Applikation überprüfe ich ja auch ob der Benutzer (OS-Benutzer) überhaupt Autorisiert ist und auch dieser einfach Select auf die Benutzertabelle dauert deutlich länger was sich bemerkbar macht, dass der Start bis das Hauptmeu erscheint einfach länger dauert unter Win7 als XP.

    Eventuell ist dies auch noch wichtig! Beim Einrichten der ODBC DNS hatte ich unter Windows 7 Probleme bis ich dort überhaupt eine Verbindung zum SQL Server bekam. Ich musste nebst Port 1433 auch 1434 auf der Firewall am Server freigeben sonst ging es überhaupt nicht. Der Server wurde sonst nicht gefunden. Die XP Rechner gingen von Anbeginn mit öffnen von Port 1433. Könnte dort noch etwas Falsch sein?

    Ich habe irgendiwe das Gefühl, dass der Server Zugriff irgendwo zuerst hängen bleibt resp. dass irgendwo noch etwas geprüft wird oder dass es einen Umweg macht????

    Gruss Markus

    Freitag, 27. Januar 2012 10:03
  • Am 27.01.2012 schrieb Markus Wenger:

    Beim starten der Applikation überprüfe ich ja auch ob der Benutzer (OS-Benutzer) überhaupt Autorisiert ist und auch dieser einfach Select auf die Benutzertabelle dauert deutlich länger was sich bemerkbar macht, dass der Start bis das Hauptmeu erscheint einfach länger dauert unter Win7 als XP.

    In welchem Verzeichnis genau liegt das Frontend? Ist der Benutzer
    lokaler Administrator? Wenn ja, ist UAC an oder aus? Bevor Du jetzt
    fragst, was ist UAC, hier die Aufklärung:
    http://de.wikipedia.org/wiki/Benutzerkontensteuerung Ist das Windows 7
    ein 32- oder 64Bit OS?
    Es gibt mittlerweile ein paar Hotfixe für A2010, prüfe ob dich einer
    davon treffen könnte. http://support.microsoft.com/kb/2618119/de Es
    gibt auch das gleiche im Dezember.

    Eventuell ist dies auch noch wichtig! Beim Einrichten der ODBC DNS hatte ich unter Windows 7 Probleme bis ich dort überhaupt eine Verbindung zum SQL Server bekam. Ich musste nebst Port 1433 auch 1434 auf der Firewall am Server freigeben sonst ging es überhaupt nicht. Der Server wurde sonst nicht gefunden. Die XP Rechner gingen von Anbeginn mit öffnen von Port 1433. Könnte dort noch etwas Falsch sein?

    Wie ist die FW in W7 konfiguriert? Ist dort der Port explicit
    geöffnet? Ein abschalten der FW ist nicht die Lösung.

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Freitag, 27. Januar 2012 16:42
  • Guten Tag

    Endlich konnte das Problem gelöst werden. Danke Winfried für Deine Unterstützung leider haben die Hotfixes und Patches nichts gebraucht. Auch das Wechseln zum Native Treiber löste das Problem nicht.

    Erst ein Tip eines Netzwerkspezialisten hat den gewünschten Erfolg gebracht.

    Ich musste den Server im HOSTS File auf dem Windows 7 PC eintragen die liegt im Windows\System32\Driver\etc Verzeichnis. Der Datei musste man zuerst Berechtigungen zuteilen dann konnte ich die IP Adresse und den Servernamen dort eintragen.

    Sofort nach diesem Eintrag war das Programm blitzschnell wie es auf den XP PC auch ist.

    Ich gebe jedem der jetzt den Finger aufhebt und sagt HOSTS unter Windows 7 soll nicht mehr sein, das Netzwerk ist sicher nicht korrekt eingerichtet recht, doch kann ich vom Kunden nicht verlangen dass er Stunden und Geld aufwendet um das von einem Profi korrekt einrichten zu lassen (ich habs übrigens auch nicht gemacht) wenn es doch auf den anderen PC geht. Dort ist der Server übrigens nicht eingetragen.

    Also Problem gelöst, es lag wie ich immer vermutet am Netzwerk und nicht an der Applikation.

    Gruss Markus

    • Als Antwort markiert Markus Wenger Dienstag, 7. Februar 2012 16:39
    Dienstag, 7. Februar 2012 16:39
  • Am 07.02.2012 schrieb Markus Wenger:

    Erst ein Tip eines Netzwerkspezialisten hat den gewünschten Erfolg gebracht.

    Ich musste den Server im HOSTS File auf dem Windows 7 PC eintragen die liegt im Windows\System32\Driver\etc Verzeichnis. Der Datei musste man zuerst Berechtigungen zuteilen dann konnte ich die IP Adresse und den Servernamen dort eintragen.

    Das eintragen in der HOSTS ist aus Windows 98 Zeiten und hat
    heutzutage nichts mehr auf aktuellen Clients verloren.

    Sofort nach diesem Eintrag war das Programm blitzschnell wie es auf den XP PC 
    auch ist.

    Klar, damit wurde ja auch die bisherige falsche Namensauflösung
    umgangen. Merk dir das nur für die Zukunft für den Fall, dass dort der
    Server gewechselt wird und wieder alles langsamer ist. Dann liegts am
    flaschen Eintrag in der HOSTS. Du hast das Problem nicht gelöst,
    sondern nur an der Ursache gebastelt.

    Ich gebe jedem der jetzt den Finger aufhebt und sagt HOSTS unter Windows 7 soll nicht mehr sein, das Netzwerk ist sicher nicht korrekt eingerichtet recht, doch

    Wenn es eine Windows Domain ist, dann sollte der DNS Server vor Ort
    korrekt eingerichtet sein. Wenn Du das nicht kannst, dann lass das
    einen Spezialisten machen. Und natürlich muß der DNS Server beim
    Client auch korrekt eingetragen sein.

    kann ich vom Kunden nicht verlangen dass er Stunden und Geld aufwendet um das von einem Profi korrekt einrichten zu lassen

    Lässt der Kunden die Bremsen von seinem Auto nicht von einem Profi
    richten? Je nach Größe des Netzes und der Domain vor Ort, ist das
    vermutlich in weniger als 1 Stunde geregelt.

    (ich habs übrigens auch nicht gemacht) wenn es doch auf den anderen PC geht. Dort ist der Server übrigens nicht eingetragen.

    Die Namensauflösung auf diesem PC ist korrekt konfiguriert. Die HOSTS
    hat heute nichts mehr mit Namensauflösung zu tun.

    Also Problem gelöst, es lag wie ich immer vermutet am Netzwerk und nicht an der Applikation.

    Nein, das Problem ist nicht das Netzwerk, sondern die Namensauflösung.
    Der Unterschied mag für dich klein sein, ist aber schon sehr deutlich.

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Dienstag, 7. Februar 2012 18:46