Internett: www.wis.no E-post: wis@wis.no
Tlf: 7245 0190 Fax: 7245 0191

Startsiden | Produkter | Drift | Markedsføring | Ta kontakt | Gå til
Søk:
Logg innLogg inn 

WIS blogg


Et adrenalinkick for WisWeb
Av: Stig Runar Vangen Lørdag 06.03.2010 (07:47)

For litt over en måned siden ble det gjort store endringer i hvordan WisWeb fungerer. Jeg skrev om hele motoren for WisWeb fra grunnen av med tanke på å oppnå bedre ytelse og stabilitet. Samtidig la drifts-avdelingen over til en annen webserver. Hva var det så vi oppnådde med disse endringene?

 

Ytelse

Metodikken for hvordan data blir hentet ut fra databasen ble gjort helt om. Dette resulterte i at vi gjennomsnittlig reduserer vekt på databasen med to tredjedeler. I tillegg er teknikken for å bygge opp sider endret så mye at det nesten ikke trykker serveren overhodet. På toppen av det har vi nå intern cache på sidene som gjør at de fleste forespørseler ikke engang blir prosessert av serveren. Summen av alt dette er at serverene våre nå bruker langt mer tid på å sove.

 

Responsivitet

Alle ytelses-forbedringene resulterte i en bedre brukeropplevelse for brukerene. Se for eksempel oppstartstiden for intranettet, som nå er redusert betydelig. Både internett-sider og intranettet oppdaterer innholdet langt raskere som en følge av dette.

 

Forutsigbarhet

Dette er mest for oss som jobber med systemet. Vi kan si at en endring vi gjør alltid gir oss det vi regner med å få ut. Dette stemte vanligvis også før, men nå er det ingen kjente merkeligheter igjen.

 

Stabilitet

Systemet gir oss nå bedre tilbakemelding dersom noe ikke går etter planen. Noen kunder har i det siste opplevd at vi har ringt dem opp for å si at det de ikke fikk til å gjøre tidligere nå fungerer. Det uten at kunden har kontaktet oss om problemer som har oppstått. I tillegg fant jeg en innstilling i vår app-server som lot brukere være innlogget selv etter at våre servere har vært nede. En del brukere har nok merket innimellom at de har blitt logget ut i løpet av natten dersom de gikk fra maskinen logget på WisWeb. Brukere vil nå ikke merke dette med mindre de gjør noe arbeide i det øyeblikket vi tar ned systemet.

 

Konklusjon

De forbedringene vi har gjort i det siste har gjort at systemet nå er i bedre stand enn det noensinne tidligere har vært. Jeg har fremdeles flere ideer rundt hvordan vi kan få systemer til å yte mer, men det får vente til en senere gang. Det vi har nå gir oss langt bedre albuerom nå når vi starter med utviklingen av WisWeb 2.

--Emner: Database/SQL, Debugging, Java, JVM, Servere, WisWeb 1
Kommentarer: 0





From dll-hell to .net-hell
Av: Ove Halseth Tirsdag 11.08.2009 (10:48)

Older versions of windows suffered from dll-hell where different versions of dll's scattered around put programs to a halt with a version of the famous: "Program.exe - Entry Point Not Found. The procedure entry point SomeProcedureName could not be located in the dynamic link library KERNEL32.dll."

 

Well let me tell you; .net-hell is no better place to stay:-(

We are currently using dephi on two of our development projects. But after delphi started to support .net it's been a hell to install/upgrade.

 

It'll start with error messages like:

[21D7B652]{dotnetcoreide120.bpl} InteropApp.MSBuildRegisterTaskHost (Line 1350, "InteropApp.pas" + 2) + $40
[5000CC8D]{rtl120.bpl  } System.@CheckAutoResult (Line 21634, "System.pas" + 6) + $0
[21D7B652]{dotnetcoreide120.bpl} InteropApp.MSBuildRegisterTaskHost (Line 1350, "InteropApp.pas" + 2) + $40
[21D78232]{dotnetcoreide120.bpl} InteropApp.TInteropHostAppManager.ResolveTempTaskHostStorage (Line 419, "InteropApp.pas" + 5)

and 20-30 lines more

 

dotnetcoreide120.bpl points me to .net. Standard medicine: Reboot only made things worse, since Eventviewer now fails with the message:

MMC could not create the snap-in. The snap-in may not be installed correctly. Name: Event Viewer. CLSID: FX:{b05566ad-fe9c-4363-be05-7a4cbb7cb510}

The same goes for a few other mmc's like tsadmin.

 

The first time it happened I was on a brink of restoring the system from a previous backup when I found some changed files under C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG and (since we're using 64-bit win2k8) C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG

We restored machine.config from the backup and it all started working again...

 

And this after hours of troubleshooting/uninstalling/reinstalling/upgrading .net, and troubleshooting .net is no easy task when sentral pices of the OS like Eventviewer is so dependent of .net.

 

The lession to learn is to take a backup of your CONFIG folder. It could come handy in a rainy day...

 

mvh

Ove B-)

--Emner: Operativsystem, Servere, Windows
Kommentarer: 1





Egne partisjoner for system, temp og data i Windows 2008 server
Av: Ove Halseth Fredag 03.04.2009 (12:43)

Linux har helt fra starten skjønt dette med og skille data, temp-filer, programfiler og systemfiler.

Hadde store forventinger til Windows 2008 i så måte, men det viser seg at en fremdeles må ty til hacks for å få skilt ut data og temp i egne partisjoner.

 

Den gode nyheten er at registryendringer utenom de en finner i vanlig GPO er mye lettere og legge inn i win 2k8.

Nyheten som lettere lar en legge inn registry og variabel endringer heter: Group Policy Preferences

Group Policy Preferences lar deg endre instillinger for:

  • Mapping av nettverksdrev: Opprett, endre eller slett mappede nettverksdrev. En kan også styre hvilke disker som skal være synlige
  • Miljøvariabler: Opprett, endre eller slett miljøvariabler.
  • Filer: Kopier, erstatt, slett eller endre atributter for filer.
  • Foldere:  Kopier, endre eller slett foldere.
  • Ini filer:  Legg til, erstatt, eller slett seksjoner eller egenskaper i .ini eller .inf filer.
  • Nettverks share: Opprett, endre eller slett delte mapper.
  • Registry: Opprett, erstatt eller slett registry nøkler.
  • Snarveier:  Opprett, endre eller slett snarveier.

Temppartisjon:

Brukte Group Policy Preferences til å endre:

- TEMP og TMP variablene til T:\%USERNAME%\Temp

- "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" peker til "T:\%USERNAME%\Temporary Internet Files"

- Flyttet også Pagefile hit.

 

Datapartisjon: 

Med utgangspunkt i Joshua Mouchs blogg og ikke minst kommentarene til bloggen, så kom jeg frem til følgende fremgangsmåte for å flytte C:\Users over i egen partisjon.

1) Opprett ny partisjon D: for data.

2) Backup C: partisjonen

3) Bootet med Vista installasjonsdisk og gikk til commandprompt(Ja, du må "starte" installasjonen av win2k8 for å komme til commandprompt)
4) I commandpromt skriver du inn følgende kommandoer

 

robocopy C:\Users D:\Users /MIR /E /XJ [Enter]
rmdir /S /Q C:\Users [Enter]
rmdir “C:\Documents and Settings” [Enter]
mklink /J C:\Users D:\Users [Enter]
mklink /J “C:\Documents and Settings” D:\Users [Enter]

5) Exit og reboot

6) Tada, bare junctions igjen på C:

 

mvh

Ove B-)

--Emner: Operativsystem, Servere
Kommentarer: 1





Synkronisering av klokka i windows
Av: Ove Halseth Fredag 03.04.2009 (11:39)

Særlig på server kan det være viktig og ha korrekt tid.

Enkleste måten og få korrekt tid er og synkronisere klokka med en NTP(Network Time Protocol) server.

En NTP server justerer som regel klokka si vha GPS ol.

 

En grei åpen NTP server for oss her i norge er: time.flygplats.net, og for å bruke denne så er det bare og lagre teksten under som en .reg fil og kjøre den.

<snip>

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"Type"="NTP"
"NtpServer"="time.flygplats.net"

</snip>

Eller du kan laste den ned.

 

Etterpå må du kjøre kommandoen:

net stop w32time && net start w32time

for å restarte Windows Time tjenesten.

Ove B-)

--Emner: Servere, Windows, WinXP
Kommentarer: 0





No group policy applied, and eventid 1006
Av: Ove Halseth Torsdag 26.02.2009 (22:00)

On our new Windows 2008 server 64-bit, running AD and Terminal services gpo suddenly stopped working.

Changes in gpo settings did not apply, and our eventlog was filling up with:

Source: GroupPolicy
Event id: 1006
Error code: 81

"The processing of Group Policy failed. Windows could not authenticate to the Active Directory service on a domain controller. (LDAP Bind function call failed). Look in the details tab for error code and description."

 

Ran DCDIAG and several other diagnostic tools to no avail.

Googled and found lot's of other with similar problems, but none of the solutions applied to our problem.

I finaly found a russian newsthread, did not understand much of it but they had the same problem, and on the last post i found "NOD" and a thumbs up icon.

 

And guess what. Disabled Eset NOD 32 antivirus and the gpo worked again:-)

 

And to day I finaly got a solution from Eset:

On the PC double click on the nod icon on the system tray, click f5 for
advanced settings go to "Web Access Protection"->"Protocol Filtering", change
option to HTTP and POP3 ports

 

So now we have antivirus and gpo:-)

 

Ove B-)

 

--Emner: Servere, Windows
Kommentarer: 0





Rename substed drives
Av: Ove Halseth Torsdag 26.02.2009 (15:29)

On our server we have split our disks into:

C: System disk

D: Data disk

E: Archive

T: Temp

 

In addition we have a fewsubsted drives, both substed to a folder in D:\...:

I: Common

H: Home

 

And a few mapped network drives:

W: Webserver

X: Appserver

 

My "problem" is that I relate much more to drive letters than to drive names, so

I've found that I could rename mapped network drives in scripting, but for long not my substed drives

It always comes up as Data (I:). The same name as my physical D: drive

 

Then I found a comment on this article:

http://www.digwin.com/cant-rename-subst-drive-in-ultimate-32bit

And it turns out that you can only rename substed drive if the drive you are substing to is not named...

So I deleted the "Data" name on our D: disk so that it comes up as "Local Disk (D:)" and now I can rename my substed drive:-)

 

So my script turned out like this:

 

set WshShell = CreateObject("WScript.Shell")
Set objShell = CreateObject("Shell.Application")

 

WshShell.run "subst I: D:\Data"
WshShell.run "subst H: D:\Home\%Username%"

WshShell.run "net use W: \\5.10.1.2\wis pwd /USER:uname /Persistent:No"

WshShell.run "net use X: \\5.10.1.2\wis pwd /USER:uname /Persistent:No" 

 

objShell.NameSpace("E:").Self.Name = "E: Archive"
objShell.NameSpace("I:").Self.Name = "I: Common"
objShell.NameSpace("H:").Self.Name = "H: Home"
objShell.NameSpace("T:").Self.Name = "T: Temp"
objShell.NameSpace("W:").Self.Name = "W: Webserver"
objShell.NameSpace("X:").Self.Name = "X: Appserver"

--Emner: Servere, Windows
Kommentarer: 0





Favicon og flere nettsted per server
Av: Ove Halseth Lørdag 10.05.2008 (14:23)

Favicon har fått en mye større nytteverdig etter at IE kom med flipper i versjon 7.

Om en besøker ett nettsted med korrekt oppsatt favicon så vil en få opp ikonet på flippen. Hadde alle nettsted benyttet seg av dette, så hadde flippene i IE og FireFox blitt mye mer oversiktlige.

 

Om en har satt opp IIS med host-headers slik at en har flere nettsted på samme ip-adresse så få samme favicon på alle nettstedene om en kun legger ett favicon.ico på rota av nettstedet.

Løsningen er og benytte seg av meta-taggen:

<link rel="shortcut icon" href="/<site>.ico">

som legges i header på hver enkelt side eller i topp-framen.

 

+ legge icon med navn <site>.ico på roten av nettstedet.

 

mvh

Ove B-)

--Emner: Html, Internett, Servere
Kommentarer: 0





Problemer med og installere/oppgradere til siste versjon av Adobe Flash player
Av: Ove Halseth Fredag 22.02.2008 (14:12)

 

Har i over ett år slitt med og få installert/oppdatert Adobe Flash player på terminal server.

Problemet arter seg slik at brukeren får beskjed om og installere Flash.

Så jeg logger på som administrator og installerer siste versjon av Flash.

Alt ser ut til å virke fint, men Flash har bare blitt installert for administrator ikke for andre brukere.

 

Når jeg først kom over problemet så googlet jeg til øyet ble vått og tørt uten og finne annet enn mange andre som sliter med samme problem.

Syns det er rart at ett så stort firma som Adobe ikke legger mer i og finne ut av slike installasjonsproblemer...

 

Men denne gangen fant jeg ganske raskt frem til:

http://www.appdeploy.com/packages/detail.asp?id=798

 

Så gangen i og få installert Flash er:

Ove B-)

--Emner: Servere
Kommentarer: 0





IIS kompresjon i IIS6.0
Av: Ove Halseth Onsdag 10.10.2007 (11:10)

Kompresjon for web-sider er et stort steg fremover. Har du i hovedsak statiske tekstsider så vil web-sidene lastes opptil 4 ganger raskere!

 

Mesteparten av informasjonen her er hentet fra Scott Forsyth's Blogg: IIS Compression in IIS6.0

 

Om en slår på kompresjon for statiske sider i IIS6.0 så er det kun htm, html, og txt sider som blir komprimert!

For å slå på kompresjon for andre filtyper så må en inn i ISS6.0 sin metabase. Metabasen tilsvarer registry i Windows og er på XML format.

 

Ser ut til at GUI-gjengen hos M$ ikke greide og henge med de som utviklet IIS, for skal en konfigurere kompresjon utenom og "fikle" med Metabasen så må en ty til tredjeparts verktøy!

Om "fikling" med Metabasen sender frysninger nedover ryggraden, så sjekk ut: http://www.port80software.com/

 

Punkt 1: Ta backup av Metabasen, det gjør du ved og høyreklikke på serveren i IIS-admin og velge All Tasks - Backup/Restore Cofiguration.

 

Punkt 2:  Slå på kompresjon i IIS

- I IIS-admin høyreklikk Web Sites og klikk på Properties.

- Velg Service flippen

- Slå på Enable Compress application files
- Slå på Compress static files
- Om du har trangt med plass så set begrensning på størrelsen.

- Lagre og lukk dialogen

 

Punkt 3: Lag ny Web Service Extension

- I IIS-admin velg Web Service Extensions
- Lag en ny web service extension
- Kall den HTTP Compression
- Og pek den til c:\windows\system32\inetsrv\gzip.dll
- Huk av Check the Set status checkbox so that it is enabled (Allowed)

 

Punkt 4: Slå på Metabase editering

Dette for å lettere kunne redigere Metabasen, alternativet er å bruke adsutil.vbs

- Høyreklikk serveren i IIS-admin, velg Properties og huk av for Enable Direct Metabase Edit

 

Punkt 5: Redigering av Metabasen

- Åpne metabasen: C:\Windows\system32\inetsrv\metabase.xml i notisblokk

- Søk etter <IIsCompressionScheme
- Det skal være to av de, en for deflate og en for gzip.
- Legg til filendelser for dynamiske filer under HcScriptFileExtensions for både deflate og gzip.

- Legg til filendelser for statiske filer under HcFileExtensions for både deflate og gzip.

-  Endre begge HcOnDemandCompLevel og begge HcDynamicCompressionLevel  til 9. (10 bruker uforholdsmessig mye CPU i forhold til oppnådd komprimering)

Min metabase.xml:

NB: Har ikke slått på komprimering av dynamiske sider siden dette blir gjordt av vår applikasjonsserver(Resin)

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
  HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
  HcCreateFlags="0"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="FALSE"
  HcDynamicCompressionLevel="9"
  HcFileExtensions="htm
   html
   js
   css
   txt"
  HcOnDemandCompLevel="9"
  HcPriority="1"
  HcScriptFileExtensions="asp
   dll
   exe"
 >
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
  HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
  HcCreateFlags="1"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="TRUE"
  HcDynamicCompressionLevel="9"
  HcFileExtensions="htm
   html
   js
   css
   txt"
  HcOnDemandCompLevel="9"
  HcPriority="1"
  HcScriptFileExtensions="asp
   dll
   exe"
 >
</IIsCompressionScheme>

 

Punkt 6: Restart IIS

Kan gjøres fra IIS-admin eller fra CMD-Promt med iisreset

 

Anbefaler og lese Scott Forsyth's Blogg: IIS Compression in IIS6.0 for mer utfyllende forklaringer.

 

Linker:

- IIS Compression in IIS6.0

Fundamentals of Web Site Acceleration

 

Ove B-)

--Emner: Internett, Servere
Kommentarer: 0


 
 Nye poster
Fixing missing (30.05.2012)
Redirect dll us (30.05.2012)
Laste ned passo (11.05.2012)
Bare si "Nei ti (12.12.2011)
Posten er slett (16.11.2011)
 Søk
 
 Populære emner
Access  Ajax  Ansatte  Brannmur  Database/SQL  Debugging  Delphi  FortiClient  Fortigate  GSI  Hjemmet  Html  Internett  iPhone  iPhone Apps  Java  JavaScript  JVM  Nerdehumor  Nettverk  Operativsystem  Palm  Servere  Skrivere  Sybase  Utvikling  VBA  Vista  VPN  Web 2.0  Windows  WinXP  WIS  Wis Tiltak  WisWeb 1  WisWeb 2  Word  XML
 Vis måned
Mai 2012 (3)
Desember 2011 (1)
November 2011 (1)
September 2011 (2)
August 2011 (1)
 Vis fra forfatter
Ove Halseth (46)
Dag Waade (9)
Stig Runar Vangen (7)
Svein Waade (6)
Inge Valaas (1)
Inger Berg (1)
Kristian Ljøkelsøy Vitsø (1)