Performantie problemen met WindX ?
Is je WindX verbinding te traag en je hebt een Unix 'login' gebruikt, lees dan
verder. Er is namelijk een methode om de snelheid van WindX drastisch te
verbeteren door NIET het Unix login principe te gebruiken.
Als je WindX gebruikt via een telnet verbinding (dit is de 'normale' manier om
een client met een Unix-server te verbinden), dan moeten beide zijden (zowel
WindX-client als host) de verstuurde gegevens vertalen. Waarom ? Omdat bepaalde
tekens van de ASCII-tabel een speciale betekenis voor telnet hebben en WindX mag
deze tekens niet doorsturen. Het 'vertalen' van deze tekens in de datastroom kan
de snelheid erg benadelen.
Maar .... er is een andere manier om een verbinding te leggen tussen de WindX
client en de Unix host. In de utility-set van PxPLUS worden namelijk 2
programma's meegeleverd: *NTHOST en *NTSLAVE.
Daarmee is het mogelijk om een TCP verbinding te maken tussen 2 machines zonder
telnet te gebruiken en daardoor dus heel wat snelheidswinst te boeken.
Onderstaand voorbeeld helpt je dergelijke verbinding te maken. Let op ! De
gebruikte IP-adressen e.d. zijn fiktief en dienen aangepast te worden aan je
eigen situatie.
Bewaar volgende script in /usr/local/bin/starthost op je Unix machine:
#!/bin/sh
PVXLIB=/pvx/lib
TERM=winterm
PVXSTART=*startup # of je eigen opstart programma
export PVXLIB TERM PVXSTART
umask 0
cd /pvx
/pvx/pvx \*nthost -arg 20000 user 0 >/dev/null </dev/null 2>&1
Verander de permissies met 'chmod 777' voor dit scriptbestandje.
'20000' is het socketnummer van het hostproces dat zal uitkijken naar WindX
programma's die verbinding zoeken.
'user' is de gebruikers loginnaam.
Deze naam (of de naam die jij kiest) MOET te vinden zijn in /etc/passwd.
Verifiëer dat u kunt inloggen en PxPLUS starten met deze
loginnaam.
Alle WindX gebruikers zullen dan bekend zijn onder deze naam. Met andere woorden,
de PxPLUS WHO funktie zal deze naam tonen.
Voeg onderstaande lijn toe in /etc/inittab van de Unix machine:
pvx1:2345:respawn:/usr/local/bin/starthost </dev/null >/dev/null 2>&1
Noot voor SCO OpenServer 5 gebruikers:
- Voer deze lijn in net onder de 'r3' regel.
- Als de kernel opnieuw gebouwd of gelinkd wordt, dan verwijdert SCO deze regel
van /etc/inittab !!!
Voer 'telinit -q' uit. De PxPLUS host wordt dan gestart. Op sommige Unix
machines is het nodig om de machine te herstarten opdat ie de veranderde /etc/inittab
zal herkennen.
Als je een Linux OS hebt, dan zie je dat de inittab file niet meer gebruikt
wordt.
Om het script toch automatisch te starten als de machine opstart, doe dan het
volgende:
1. Er is een /etc/init.d/boot.local script.
Voeg de volgende regel toe aan dit script:
sudo -uuser /usr/local/bin/starthost &
2. Er is een /etc/rc.d/rc.local script.
Voeg dan volgende regel toe aan dit script:
su user -c /usr/local/bin/starthost &
Als u de host onder Windows automatisch wil laten starten (as-a-service), dan
kunt u onderstaand PxPLUS programma'tje gebruiken.
0010 BEGIN
0020 LET SRV_NAME$="PVX.nthost.Test"
0030 LET DSP_NAME$="PxPLUS NTHOST Server"
0040 LET START_TYPE=1 ! 1=auto, 2=manual, 3=disabled
0050 LET CMD_LINE$="*nthost -arg 20000 -K host"
0060 LET TMP$=ARG(0),P=POS("/\":TMP$,-1); IF P=0 THEN ESCAPE
0070 LET START_DIR$=TMP$(1,P) ! The starting directory
0080 LET DESCRIP$="PxPLUS Nthost server on socket 20000"
0090 ! Now install the service
0100 LET SERVICE=NEW("*obj/ntservice")
0110 PRINT "Now installing the service..."
0120 LET
RESULT=SERVICE'CREATEPROVIDEXSERVICE(SRV_NAME$,DSP_NAME$,DESCRIP$,CMD_LINE$,START_DIR$,START_TYPE,"","",0)
0130 DELETE OBJECT SERVICE
Creëer volgende snelkoppeling in Windows om een WindX verbinding te maken:
Doel: C:\pvx\pvxwin32.exe *ntslave -id=T99 -arg 192.2.9.10 "" 20000
Start in: C:\pvx
Geminimaliseerd
192.2.9.10 is het IP-adres van de Unixmachine.
20000 is het socketnummer van de taak op de host.
-id=T99 is de FID(0) waarde van de PxPLUS op de Unixmachine.
"" is de naam van het programma dat gestart zal worden zodra er een verbinding
gemaakt wordt. Indien leeg (zoals in ons voorbeeld) wordt PxPLUS in 'console
mode' gestart.
Als je vanuit een programma meerdere PxPLUS taken wil starten, gebruik dan
niet het 'START' bevel, maar een utility die hiervoor gemaakt is, nl: *windx.utl
met als label 'spawn'.
Voorbeeld: CALL "*WINDX.UTL;SPAWN" [,programmanaam]
|