[.Net] Versnellen verwerking Word documenten

Pagina: 1
Acties:
  • 106 views sinds 30-01-2008
  • Reageer

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Ik ben momenteel bezig om ca 4500 word-documenten in te voeren in een Oracle-database via een VB.Net app. Elke tabelcel in deze documenten wordt in een databaseveld geplaatst. Dit gaat allemaal goed.

Waar ik me aan stoor is de traagheid waarmee dit gebeurt.
1. Ik open wApp als word.application in een aparte thread.
2. Vervolgens doe ik wDoc=wApp.Documents.Open(naam), lees de handel in en schrijf het weg en close dan weer wDoc (wApp blijft open)..

Het openen en sluiten gaat niet echt snel (iets minder dan 1 seconde per document). Heeft er iemand een idee om dit proces te versnellen? Of is er gewoon geen andere mogelijkheid? De documenten staan op het (Novell) netwerk.

Overigens sluit ik wApp na 500 documenten en open een nieuwe wApp omdat na ongeveer 3300 documenten wApp eruitknalt.

Configuratie:
XP Pro SP1
Office XP
Visual Studio .Net 2003
1 GB intern geheugen

Internet biedt helaas niet voldoende oplossingen omdat ik gewoon niet weet waar ik moet zoeken in dit geval. Wel wat geprobeerd natuurlijk, maar dit levert geen resultaat op.

Vlinders moet je volgen, niet vangen...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:07

gorgi_19

Kruimeltjes zijn weer op :9

En het gewoon een nachtje laten staan; of is het geen eenmalige batch? :) Want ik krijg het idee dat dit laatste het geval is :) En zet anders een aantal traces eens uit om te kijken waar de bottleneck precies zit :)

[ Voor 26% gewijzigd door gorgi_19 op 14-06-2005 15:24 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Ik wil voor het testen de gehele conversie een paar maal doorlopen (daarom kwam ik er ook achter dat na 3300 docs Word eruitklapt).

Pas als dat allemaal goed draait gaat ie 's-nachts draaien.

Vlinders moet je volgen, niet vangen...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:07

gorgi_19

Kruimeltjes zijn weer op :9

Maar waar zit de traagheid in? :) Hoe zit je processorbelasting? Zijn er andere bottlenecks? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Ik vind ongeveer 1 seconde per document traag.
Processortijden:
- WINWORD: tussen de 35 en 60%
- Mijn App: tussen de 15 en 40%

Bottleneck zou het netwerk kunnen zijn (netwerkbelasting per document < 2,5%), maar daar is door mij niets aan te wijzigen.

Vlinders moet je volgen, niet vangen...


  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
PaulZ schreef op dinsdag 14 juni 2005 @ 15:31:
Bottleneck zou het netwerk kunnen zijn (netwerkbelasting per document < 2,5%), maar daar is door mij niets aan te wijzigen.
Ik zou me voor kunnen stellen dat het sneller gaat om de docs eerst lokaal te kopiëren. (kun je evt in een andere thread stoppen voor optimale verdeling). Word is niet echt snel bij een wat trager netwerk, maar als de docs lokaal staan gaat het een stuk sneller.
Verder blijft natuurlijk staan dat automation niet zo heel erg snel is. Dat zal straks met docx wel beter worden :) (dit soort batches dan)

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
Misschien begrijp ik het niet helemaal, maare, jij opent een document, en slaat het daarna weer op ofzo? Dan kun het toch ook gewoon meteen inlezen?

Verder is een idee misschien om een snellere CPU in het systeem te zetten, en vooral geen hyper threating ding tenzij je je app zo kan laten werken dat die 2 documenten tegelijk kan openen, maar ik weet niet of word dat kan.

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
pierre-oord schreef op woensdag 15 juni 2005 @ 00:01:
Misschien begrijp ik het niet helemaal, maare, jij opent een document, en slaat het daarna weer op ofzo? Dan kun het toch ook gewoon meteen inlezen?
Inderdaad. Momenteel houden medewerkers wijzigingen/mutaties bij in een word document (per cliënt één document en per wijziging één tabelrij), maar er valt nogal eens wat weg en qua beveiliging kan ik er ook niet mee uit de voeten (nu kan iedereen alles van iedereen wijzigen). Daarom is nu een apart programmaatje gemaakt zodat iedereen nu de wijzigingen in een Oracle database invoert.
De oude wijzigingen moeten echter nog geconverteerd worden naar de database.

Een snellere CPU zal niet gaan denk ik (standaard KA-werkstation).
Wat ik al wel heb ondervonden is dat het uitzetten van de (Kaspersky) virusscanner al een hoop tijdwinst oplevert.
MS-Word kan meer documenten tegelijkertijd open hebben. Ik kan daar ook nog wel even mee experimenteren.

Vlinders moet je volgen, niet vangen...


Verwijderd

ik zou ook even de automatische spelling en grammatica checker, en macro's, en heel veel van die extra optie's uitzetten. Dat scheelt namelijk, want word heeft de neiging om tig dingen uit te voeren voordat een word geopend is.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als het een eenmalige conversie is dan heeft het toch niet zo veel zin om veel tijd in de optimalisatie te gaan steken. Als het te lang duurt met testen dan test je eerst toch met een kleiner aantal bestanden. Als je programma dan zo goed als af is laat je het snachts een keer een proef batch draaien met alle bestanden en gaat dat goed dan doe je het de volgende nacht echt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • KnoppenSpook
  • Registratie: Augustus 2000
  • Laatst online: 04-09-2023
Zorg iig ervoor dat m_objWord.Visible = false is, want de venster(s) opbouwen van Word kost veel tijd.

Pas na Visible= false documenten openen.

/me weet geen leuke quote voor in zijn signature


  • barfieldmv
  • Registratie: Maart 2004
  • Laatst online: 19-04 10:49
Ik ben trouwens heel benieuwd hoe je dit allemaal uitvoerd. Zelf ben ik een tijdje met het exporteren van data naar een word document bezig geweest en via FOP ging het niet echt simpel.

Kan je wat code/configuratie of start ideeen posten.

[ Voor 8% gewijzigd door Creepy op 15-06-2005 14:27 . Reden: de-spamified.. ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:51

Creepy

Tactical Espionage Splatterer

barfielddmv: zoals je in P&W FAQ - De "quickstart" had kunnen lezen zien we dat soort vragen liever niet. Zie ook: P&W FAQ - Scriptrequests. Daarnaast is er met google echt genoeg informatie te vinden hoe Word aan te kunnen sturen vanuit verschillende ontwikkelomgevingen. Als je hier echt zelf niet uitkomt open dan een eigen topic, maar let wel op de quickstart ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1