WAA und Socket error

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

WAA und Socket error

Beitrag von Armin » Do, 11. Okt 2012 9:56

Hallo,

wir betreiben den WAA-Server mit Xbase 1.9 .331, d.h. die Originalversion von 2006 mit dem MS-IIS.

Zur Zeit haben wir mehrfach täglich einen Zusammenbruch wegen socket errors. Das Problem existiert laut Alaska (Steffen) in dieser Version und wurde in der neuen Version anscheinend verbessert.
In den letzten Jahren konnten wir das Problem in den Griff bekommen, indem wir die WorkerThreads (gleichzeitig mögliche Prozesse im WAA) auf unter 20 einstellten.
Mittlerweile läuft der WAA auf einem neuen Server - weil günstig und schnell - auf einem neuen Desktop-PC mit Win2003 Server. Vorher lief der WAA auf einem "richtigen" Server-PC (der jetzt kaputt ist).
Im Augenblick steigt die Benutzeranzahl wieder und es gibt ständig socket errors. Ich habe die WorkerThreads schrittweise bis auf 4 reduziert, das Problem besteht aber immer noch.

Mögliche Lösungen:
1. wieder auf "richtigen" Server
2. neue WAA-Version (hilft da .335?)

Hat jemand eine Idee oder weiss etwas zu diesem Problem?

Grüße, Armin

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14284
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: WAA und Socket error

Beitrag von brandelh » Do, 11. Okt 2012 10:25

Ein "richtiger Server" hat meist eine teure und gute Netzwerkkarte mit ausgereiften Treibern, ein normaler PC eine billige onboard Lösung mit naja gut genug Treiber.
Ob es daran liegt kann ich nicht beurteilen, aber der Rest vom Rechner sollte nicht überlastet sein, auch wenn er billiger ist.

Könnt Ihr die mal tauschen ?
Gruß
Hubert

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Do, 11. Okt 2012 15:33

Hallo Hubert,

vielen Dank für die Antwort.
Wir haben evtl. noch einen "richtigen" Server - ich werde mal testweise diesen testen.

Grüße, Armin

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11172
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: WAA und Socket error

Beitrag von AUGE_OHR » Do, 11. Okt 2012 22:15

brandelh hat geschrieben:Ein "richtiger Server" ...
steht beim meinem Notar im Keller ... 256GB und 16 Hyper-V Threads laufen da (können auch viel mehr sein ... RAM ... )

"das" ist die Technik von "morgen" wo man sich "remote" in einen Hyper-V Thread einloggt egal was für einen Client man benutzt.
gruss by OHR
Jimmy

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Mi, 17. Okt 2012 9:00

Hallo,

zur Zeit scheint der WAA wieder besser zu laufen (auf dem gleichen Server - DesktopRechner mit Win 2003 Server)

SET WAA_WORKERTHREADS=5
SET WAA_TRACE=ON
SET WAA_DEVMODE=ON
SET WAA_INTERNAL_LOG=ON

vorher waren WAA_WORKERTHREADS=14 und alle anderen Schalter auf OFF

Ausserdem habe ich stunnel jetzt nicht mehr gestartet - jetzt gehen leider keine Emails aus WAA

Gruß, Armin

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Mi, 17. Okt 2012 10:20

zu früh gefreut - es gab doch Fehler:

hier läuft der #4 das letzte Mal und wurde wohl richtig beendet:
[16.10.2012 10:50:54][#4:Pkg][//WEBMANAGE/IO_WO_MELDEN] request at [192.168.100.55]
*** [#4:Cgi][WAA_PACKAGE = WEBMANAGE
WAA_FORM = IO_WO_MELDEN]
[16.10.2012 10:50:55][#4:End][//WEBMANAGE/IO_WO_MELDEN] elapsed time [0.86]
...
...
...
[16.10.2012 10:54:57][#3:Pkg][//WEBMANAGE/BEM_SHOW] request at [192.168.100.55]
*** [#3:Cgi][WAA_PACKAGE = WEBMANAGE
WAA_FORM = BEM_SHOW
BEMDAT = BEM
BEM_RECNO = 7603]
[16.10.2012 10:54:57][#3:End][//WEBMANAGE/BEM_SHOW] elapsed time [0.12]
[16.10.2012 10:55:54] *** -----------------------------------------------------------
[16.10.2012 10:55:54] *** worker #4 Error:
[16.10.2012 10:55:54] ***


e:canDefault :.F.
e:canRetry :.F.
e:canSubstitute:.F.
e:description :
e:filename :
e:genCode :0
e:operation :Socket read error
e:osCode :0
e:severity :0
e:subCode :0
e:subSystem :
e:thread :4
e:tries :0
e:cargo :

Callstack:

CGICHANNEL:COMPLETECONNECT(130)
BEGINTRANSACT(440)
SERVEJOB(282)
SERVEJOBPROTECTION(208)


[16.10.2012 10:55:54] *** -----------------------------------------------------------
[16.10.2012 10:55:54] *** worker #4 Request not completed
[16.10.2012 10:55:54] *** -----------------------------------------------------------
[16.10.2012 10:55:54] *** worker #4 Error:
[16.10.2012 10:55:54] ***


e:canDefault :.F.
e:canRetry :.F.
e:canSubstitute:.F.
e:description :
e:filename :
e:genCode :0
e:operation :Socket read error
e:osCode :0
e:severity :0
e:subCode :0
e:subSystem :
e:thread :4
e:tries :0
e:cargo :

Callstack:

CGICHANNEL:COMPLETECONNECT(130)
BEGINTRANSACT(440)
SERVEJOB(282)
SERVEJOBPROTECTION(208)


[16.10.2012 10:55:54] *** -----------------------------------------------------------
[16.10.2012 10:55:54] *** worker #4 Request not completed
[16.10.2012 10:55:55][#4:Pkg][//WEBMANAGE/IO_WO_MELDEN] request at [192.168.100.55]
*** [#4:Cgi][WAA_PACKAGE = WEBMANAGE
WAA_FORM = IO_WO_MELDEN]
[16.10.12 10:56:00] *** -----------------------------------------------------------

Das würde bedeuten, dass IO_WO_MELDEN zu diesem socket read error geführt hat...
Dies ist ein zeitgesteuerter Ajax-Aufruf (Zeiterfassung, die in 5 min Abständen gerufen wird). Das funktioniert aber normalerweise immer...
Könnte es sein, dass das Fenster den HTTPRequest absendet und der Benutzer das Fenster wegklickt, bevor das Ergebnis angekommen ist?
Diese Funktion wird von mehreren Stationen mehrfach am Tag erfolgreich ausgeführt...

Grüße, Armin

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Mi, 17. Okt 2012 10:30

ist ja ärgerlich, scheint aber an dieser Funktion zu liegen:


[17.10.12 09:50:26][#3:Pkg][//WEBMANAGE/IO_WO_MELDEN] request at [192.168.100.55]
*** [#3:Cgi][WAA_PACKAGE = WEBMANAGE
WAA_FORM = IO_WO_MELDEN]
[17.10.12 09:50:26][#3:End][//WEBMANAGE/IO_WO_MELDEN] elapsed time [0.56]
[17.10.12 09:51:58][#6:Pkg][//WEBMANAGE/IO_WO_MELDEN] request at [192.168.100.40]
*** [#6:Cgi][WAA_PACKAGE = WEBMANAGE
WAA_FORM = IO_WO_MELDEN]
[17.10.12 09:51:58][#6:End][//WEBMANAGE/IO_WO_MELDEN] elapsed time [0.26]
[17.10.12 09:52:33] *** -----------------------------------------------------------
[17.10.12 09:52:33] *** worker #3 Error:
[17.10.12 09:52:33] ***


e:canDefault :.F.
e:canRetry :.F.
e:canSubstitute:.F.
e:description :
e:filename :
e:genCode :0
e:operation :Socket read error
e:osCode :0
e:severity :0
e:subCode :0
e:subSystem :
e:thread :3
e:tries :0
e:cargo :

Callstack:

CGICHANNEL:COMPLETECONNECT(130)
BEGINTRANSACT(440)
SERVEJOB(282)
SERVEJOBPROTECTION(208)


[17.10.12 09:52:33] *** -----------------------------------------------------------
[17.10.12 09:52:33] *** worker #3 Request not completed
[17.10.2012 09:52:33] *** -----------------------------------------------------------

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Mi, 24. Okt 2012 10:34

So wirklich lässt sich das socket error Problem nicht in den Griff bekommen. Man kann es auch nicht definitiv an einer Funktion festmachen. Es ist immer der 1. socket error nach einem Restart, der das Problem auslöst. Selten erholt sich der Server nach dem 1.socket error. Ich habe das mal irgendwo so gehört, dass das socket dann weg ist, bzw. nicht mehr freigegeben wird.
Auch kann das mit jedem Aufruf passieren - meistens geht´s, aber irgendwann eben nicht mehr....

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Do, 08. Nov 2012 11:00

Ein socket read error kann z.B. durch Wegnavigieren entstehen. D.h. Das aufrufende Fenster ist nicht mehr da. Das passiert bei ungeduldigen Benutzern häufiger und vor allem wenn man mit Frames arbeitet. Wenn nicht in der erwarteten Zeit eine Antwort kommt, weil z.B. gerade andere Anfragen abgearbeitet werden, dann klicken die Benutzer gerne gleich noch ein paar mal oder schliessen das Fenster und rufen etwas anderes auf. Dadurch wird der Server mit Anfragen drastisch gefüllt. Irgendwann wird er so langsam, dass nichts mehr geht oder sogar ein socket write error kommt.
Bei Ajax-Aufrufen die ihr aufrufendes Fenster nicht mehr finden gibt´s auch ein socket read error.

Wenn man nach socket errors den WAA neu startet, kann auch die Meldung "socket listen failed" kommen. Hier hilft dann ein Neustart des Rechners.
In unseren alten Logs sehen wir immer wieder regelmässig socket read errors. Der WAA wird dann kurz langsamer, erholt sich aber meistens wieder. Auf dem neuen Server erholt er sich anscheinend nicht so gut...

Eine neue Installation auf einem "richtigen" Server funktioniert etwas besser. Wir werden jetzt die 1.9.335 testen und von den Ergebnissen berichten.

Gruß, Armin

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 373
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

Re: WAA und Socket error

Beitrag von Armin » Fr, 25. Jan 2013 16:28

Tests mit SL1 (Build 335) auf Windows 2008 Server IIS7.0, Windows 2008 R2 Server IIS7.5, Windows 7 Apache 64 2.4.2
Die Socket errors durch Wegnavigieren gefährden den WAA nicht mehr in der Stabilität!

Antworten