Welcome to Sign in | Help
in Search

degradare performante?

Last post 05-23-2008, 10:36 AM by rsocol. 24 replies.
Page 1 of 2 (25 items)   1 2 Next >
Sort Posts: Previous Next
  •  05-20-2008, 10:11 AM 4985

    degradare performante?

    Salut,

    Am o problema legata, cred eu, de SQL Server.

    Am o aplicatie ASP.NET care afiseaza niste date pentru casierii (plata taxe scolarizare studenti). Din cind in cind aplicatia imi da o eroare de genul "DataBinding: 'System.Data.DataRowView' does not contain a property with the name XXXX" unde XXX poate sa difere. Normal, proprietatile respective exista si sunt generate de procedura stocata.

    Dupa recompilarea aplicatie totul se pare ca functioneaza normal (cel putin o perioada).

    Nu am reusit sa identific momentul dar cred ca eroarea e generata din cauza unor module care genereaza rapoarte --> supraincarcarea serverului. ceea ce e iarasi ciudat pentru ca specificatiile serverului sunt destul de bune, cred eu:

    - S.O: Windows 2003 R2, 64 bit
    - SQL Server 2005 Standard, 64 bit
    - 8 GB RAM
    - Intel Xeon E 5345 2.33 Ghz (2 quad-core)

    As avea nevoie de ajutor pentru:
    - identificarea momentului in care apare eroarea
    - cum as putea sa o remediez
    - cum as putea sa distribui incarcarea pe mai core-uri din cele 2 procesoare ? (la incarcarea maxima, Process Explorer de la Sysinternals imi arata ca lucreaza doar 1 din cele 8 core-uri)

    Multumesc,
    Catalin

  •  05-20-2008, 12:56 PM 4986 in reply to 4985

    Re: degradare performante?

    Eu cred ca e vorba de anumite rapoarte ...

    E aceeasi pagina care iti da eroare ?
    Ai codul sursa ?
    Ai macar dll-ul ?

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  05-20-2008, 3:39 PM 4987 in reply to 4986

    Re: degradare performante?

    Rapoartele le-am banuit si eu. Daca le accesez, chiar de pe mai multe calc. (dureaza 3-4 minute / raport) nu pot sa reproduc eroarea dar aplicatia nu prea raspunde (pagina se incarca greu)

    Aplicatia e distribuita si accesata de mai multe facultati in acelasi timp. In momentul in care apare, eroarea apare in toate paginile care sunt accesate in acelasi timp in care apare eroarea. Din aceasta cauza am pus mai sus XXXX (coloane diferite din pagini diferite, in functie de ce e accesat atunci).

    Da, am codul sursa.

    Multumesc,
    Catalin
  •  05-21-2008, 8:42 AM 4990 in reply to 4987

    Re: degradare performante?

    Ce intelegi prin "Aplicatia este distribuita" ?
    Daca ai codul sursa, poti face teste automate? Este organizat pe cele 3 layer-e (DAL, BLL, GUI) astfel incit sa poti testa DAL si/sau BLL ?

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  05-21-2008, 4:10 PM 4993 in reply to 4990

    Re: degradare performante?

    Aplicatie distribuita - adica accesata de mai multi useri in acelasi timp nu distribuita in retea pe mai multe calculatoare (web farm sau altceva).

    Nu am implementat teste automate in DAL sau BLL si nici nu cred ca e nevoie pt. ca ambele sint extrem de simple si pina acum aplicatia nu a jurnalizat erori in ele.

    In cazul rapoartelor se apeleaza direct proceduri stocate cu paramterii transmisi din interfata -> Reporting services -> DB -> Reporting services.

    Presupunind faptul ca BD e praincarcata, cum as putea sa o testez, sa vad daca unele SP ingreuneaza accesul celorlalte ?

    Catalin


  •  05-21-2008, 6:27 PM 4994 in reply to 4993

    Re: degradare performante?

    Aplicatia .NET si serverul SQL sunt pe aceeasi masina?

    Apar mesaje de eroare in "event viewer" si in log-ul SQL?

    Un "server-side trace" (rulat in orele de "varf"...) te poate ajuta in reperarea problemelor de performanta pe SQL(Profiler-ul afecteaza mai mult performanta aplicatiei).

     Ce inseamna "pina acum aplicatia nu a jurnalizat erori in ele"? Cand au inceput problemele?

    * Cred ca testarea nu ar fi trebuit ignorata...

  •  05-22-2008, 7:16 AM 4995 in reply to 4994

    Re: degradare performante?

    >>Aplicatia .NET si serverul SQL sunt pe aceeasi masina?
    Da

    >>Apar mesaje de eroare in "event viewer" si in log-ul SQL?

    Nu, nici in unul nici in altul. in sql log apar doar mesaje de backup, start si unele mesaje de securiatate/parole gresite.

    >>Un "server-side trace" (rulat in orele de "varf"...) te poate ajuta in reperarea problemelor de performanta pe SQL(Profiler-ul afecteaza mai mult performanta aplicatiei).

    Voin incerca. Initial am folost doar Profiler-ul si Tunning-ul

    >>Ce inseamna "pina acum aplicatia nu a jurnalizat erori in ele"? Cand au inceput problemele?

    Pe fiecare componenta si metoda din componenta fac jurnalizare in DB. Nu pot sa identific de cind au aparul problemele... masina asta o folosesc din ianuarie si am avut probleme de 2 ori in total (acelasi tip).

    O sugestie pe care am primit-o intr-un alt forum: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=103216

    >>* Cred ca testarea nu ar fi trebuit ignorata...
    (Am retinut!)

    Catalin
  •  05-22-2008, 8:04 AM 4996 in reply to 4995

    Re: degradare performante?

    mi-a aparut din nou... cine vrea sa se uite in fiseirul meu de trace ? am identificat acolo (si stiu ca existau) mai multe SP care durau f. mult dar totusi, e 2 * quad core... nu ar trebui sa "duca mai mult" ?

    si inca ceva.... e ciudat ca aplicatia peste care e construita aplicatia mea de gestiune a studentilor nu da erori (DotNetNuke) si functioneaza bine..., chiar daca e db-instensive in timp ce a mea crapa...

    Catalin
  •  05-22-2008, 8:21 AM 4997 in reply to 4996

    Re: degradare performante?

    Verifică dacă ai deaklock !
  •  05-22-2008, 8:35 AM 4999 in reply to 4997

    Re: degradare performante?

    Este posibil sa ai necazuri si pentru ca SQL-ul si aplicatia "impart" aceeasi masina. Vezi in "task manager" daca nu cumva procesul w3wp.exe "lasa" sqlservr.exe fara resurse (sorteaza procesele dupa MemUsage). Eu am scapat de asemenea probleme (---> SQL ramas cam fara resurse dadea  "time out" sau paginile web se incarcau foarte incet) punand aplicatiile .NET si bazele de date pe servere diferite. Mai ruleaza si alte aplicatii pe serverul tau?

     

  •  05-22-2008, 8:37 AM 5000 in reply to 4999

    Re: degradare performante?

    * Asta nu exclude faptul ca aplicatia insasi ar putea avea probleme - vezi sfatul lui Bogdan.
  •  05-22-2008, 3:14 PM 5003 in reply to 4999

    Re: degradare performante?

    Diana:

    Este posibil sa ai necazuri si pentru ca SQL-ul si aplicatia "impart" aceeasi masina. Vezi in "task manager" daca nu cumva procesul w3wp.exe "lasa" sqlservr.exe fara resurse (sorteaza procesele dupa MemUsage). Eu am scapat de asemenea probleme (---> SQL ramas cam fara resurse dadea  "time out" sau paginile web se incarcau foarte incet) punand aplicatiile .NET si bazele de date pe servere diferite. Mai ruleaza si alte aplicatii pe serverul tau?



    Server-ul e Win2003 x64 cu 8 GB RAM.

    In memorie SqlServer ocupa in jur de 1.5 -> 2GB in timp de ASP.NET pina la 1 GB. Din punctul meu de vedere nu resursele sunt de vina.... aplicatia mergea si pe un calculator PIV cu 1 GB RAM (si IIS si SQL pe aceeasi masina).

    Aplicatia e construita peste DotNetNuke. Paginile si modulele de la DNN merg/functioneaza f.f. bine si cind modulele mele nu functioneaza cu eroarea de mai sus.

    Catalin
  •  05-22-2008, 3:16 PM 5004 in reply to 4994

    Re: degradare performante?

    Cum faceti voi testarea? Unit testing? asta ar fi corectitudinea implementarii codului; cum s-ar putea testa altfel?

    Lucian
  •  05-22-2008, 3:42 PM 5005 in reply to 5003

    Re: degradare performante?

    Atunci se pare ca acele parti din aplicatie au probleme, deci cred ca trebuie sa revezi si codul de .NET si procedurile SQL. Vezi de exemplu codul SQL lent de care pomeneai inainte...
  •  05-22-2008, 6:33 PM 5007 in reply to 5005

    Re: degradare performante?

    Am facut urmatoarele:
    1. reconstruit indecsii;
    2. update statistici cu fullscan
    3. EXEC sp_recompile [procedura] pt. actualizarea planului de executie

    s-a imbunatatit simtitor viteza de prelucrare pt. citeva proceduri cu probleme.

    TOTUSI: chiar daca un raport dureaza 30 sec. pt. o facultate mare (returneaza ~6300 inregistrari _calculate_), in acest timp BD din care se genereaza raportul nu raspunde aproape deloc (adica apar erorile respective). Ce pot face pt. ca BD sa raspunda la interogari ?


    Catalin
Page 1 of 2 (25 items)   1 2 Next >
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems