Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Βαριά εφαρμογή

Îåêßíçóå áðü ôï ìÝëïò StrouMfios. Τελευταία δημοσίευση από το μέλος Oldgeorge στις 19-02-2010, 15:59. Υπάρχουν 14 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  31-01-2010, 13:13 56826

    Βαριά εφαρμογή

    Το τελευταίο διάστειμα ασχολούμε με ενα project στο οποίο κάνουμε τελικές δοοκιμές για να βγεί live και έχει γραφτέι σε C#.

    Το πρόβλημα που αντιμετωπίζω είναι ότι όταν μπαίνω στο site,αργεί πολύ να φορτώσει η σελίδα.
    Πιο αναλυτικά...
    • Ανεβάζω το site, γίνεται compile και καθυστερεί χωρίς καμία ανησυχία.
    • Μετά απο λίγη ώρα αν επισκεφτώ το site έχω την απαίτηση να φορτώσει πιο γρήγορα απο την πρώτη φορά, αφού τώρα δεν κανει compile.
      Το κακό όμως είναι οτι καθυστερεί τόσο όσο όταν εκανε compile.
    • Μετά απο το "δεύτερο compile" όλες οι σελίδες σερβίρονται χωρίς καμία καθυστέρηση
    Ο χρόνος που απαιτείται για να γίνει compile το site, επαναλαμβάνεται κάθε φορά που μπαίνω στο site σε ενα χρονικό διαστειμα περίπου 10 λεπτών.

    Υπάρχει περίπτωση να είναι θέμα server?

    Ευχαριστώ

    αν δεν το θες, www.antallakseto.gr
  •  31-01-2010, 15:53 56831 σε απάντηση της 56826

    Απ: Varia efarmogi

    Ενεργοποίησε το Trace και θα δείς τι είναι αυτό που καταλαμβάνει τόσο χρόνο και kilobytes.




  •  31-01-2010, 16:12 56832 σε απάντηση της 56826

    Απ: Varia efarmogi

    Καταρχήν, γράψε το post στα ελληνικά και μετά δώσε περισσότερες πληροφορίες για το τί συμβαίνει.

    Έχε πάντως υπόψη ότι την πρώτη φορά που ξεκινάει ένα site καθυστερεί πάντα γιατί τότε γίνεται το compile των σελίδων aspx, ascx. Αυτή η καθυστέρηση εμφανίζεται κάθε φορά που κάνει restart η εφαρμογή επειδή π.χ. έκανες αλλαγές στo web.config. Αυτό γίνεται για να μη σπαταλάει χρόνο ο web server για να σηκώσει εφαρμογές οι οποίες δεν έχουν ζήτηση ακόμα. Όταν όμως κάνεις debugging θα έχεις πάντα αυτή την καθυστέρηση.

    Δοκίμασε να συνδεθείς δεύτερη φορά με διαφορετικά credentials ή/και από διαφορετικό παράθυρο του browser. Αν και εκεί εμφανίζεται πρόβλημα θα πρέπει να ψάξεις παραπέρα για να δεις τί συμβαίνει. Σε αυτή τη περίπτωση θα πρέπει να χρησιμοποιήσεις κάποιο profiler για να δεις πού χάνεται ο χρόνος.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  31-01-2010, 16:34 56836 σε απάντηση της 56831

    Απ: Varia efarmogi

    Γιώργο παρακάτω είναι τα αποτελέσματα απο το trace.

    Δεν μου φαίνεται οτι υπάρχει κάτι το οποίο βαραίνει πολύ την εφαρμογή, αλλα επειδή είναι η πρώτη φορά που χρησιμοποιώ το trace, προφανώς μπορεί να κάνω και λάθος εκτίμηση.
    Εσένα πως σου φαίνονται?
    Και όπως ανέφερα και προηγουμένος, αργεί μόνο κάθε πρώτη φορά που φορτώνει η σελίδα μετά απο ενα χρονικό διάστειμα περίπου στο 10λεπτο και οι τιμές του trace κυμαίνονται στα ίδια επίπεδα.

    Trace Information

    CategoryMessageFrom First(s)From Last(s)
    aspx.pageBegin PreInit

    aspx.pageEnd PreInit7.34906015037594E-050.000073
    aspx.pageBegin Init0.000101719924812030.000028
    aspx.pageEnd Init0.0001470169172932330.000045
    aspx.pageBegin InitComplete0.0002219172932330830.000075
    aspx.pageEnd InitComplete0.0002491823308270680.000027
    aspx.pageBegin PreLoad0.000265159774436090.000016
    aspx.pageEnd PreLoad0.000280439849624060.000015
    aspx.pageBegin Load0.0002963872180451130.000016
    aspx.pageEnd Load0.002782184680451130.002486
    aspx.pageBegin LoadComplete0.002817789943609020.000036
    aspx.pageEnd LoadComplete0.002834932800751880.000017
    aspx.pageBegin PreRender0.002850276785714290.000015
    aspx.pageEnd PreRender0.003333053101503760.000483
    aspx.pageBegin PreRenderComplete0.003373336936090230.000040
    aspx.pageEnd PreRenderComplete0.003433378289473680.000060
    aspx.pageBegin SaveState0.004172082706766920.000739
    aspx.pageEnd SaveState0.004361956766917290.000190
    aspx.pageBegin SaveStateComplete0.004400317669172930.000038
    aspx.pageEnd SaveStateComplete0.004417661654135340.000017
    aspx.pageBegin Render0.004433167293233080.000016
    aspx.pageEnd Render0.006581821428571430.002149

    Control Tree

    Control UniqueIDTypeRender Size Bytes (including children)ViewState Size Bytes (excluding children)ControlState Size Bytes (excluding children)
    __PageASP.default_aspx2039400
        ctl11System.Web.UI.LiteralControl17000
        ctl00System.Web.UI.HtmlControls.HtmlHead383000
            ctl01System.Web.UI.HtmlControls.HtmlMeta6900
            ctl02System.Web.UI.HtmlControls.HtmlMeta2700
            ctl03System.Web.UI.HtmlControls.HtmlMeta2400
            ctl04System.Web.UI.HtmlControls.HtmlMeta3900
            ctl05System.Web.UI.HtmlControls.HtmlTitle1900
            ctl06System.Web.UI.HtmlControls.HtmlLink7200
            ctl07System.Web.UI.HtmlControls.HtmlLink7800
            ctl08System.Web.UI.HtmlControls.HtmlLink7800
            ctl09System.Web.UI.HtmlControls.HtmlLink7000
            ctl10System.Web.UI.HtmlControls.HtmlLink7800
        ctl12System.Web.UI.LiteralControl1400
        Form1System.Web.UI.HtmlControls.HtmlForm1636000
            ErrorFieldSystem.Web.UI.WebControls.HiddenField5700
            ScriptManager1System.Web.UI.ScriptManager24200
            ImageButton1System.Web.UI.WebControls.ImageButton31100
            BuyersPLSystem.Web.UI.WebControls.Panel168000
                UserNameTXTSystem.Web.UI.WebControls.TextBox11000
                UserNameRVSystem.Web.UI.WebControls.RequiredFieldValidator6700
                PasswordTXTSystem.Web.UI.WebControls.TextBox11500
                PasswordRVSystem.Web.UI.WebControls.RequiredFieldValidator6700
                RememberMeCBXSystem.Web.UI.WebControls.CheckBox11300
                LoginBTNSystem.Web.UI.WebControls.Button24800
                LoginVSSystem.Web.UI.WebControls.ValidationSummary6100
            BuyersLTRLSystem.Web.UI.WebControls.Literal4215800
            SellersLTRLSystem.Web.UI.WebControls.Literal5807920
            SellersPLSystem.Web.UI.WebControls.Panel186100
                RegisterSellerHLSystem.Web.UI.WebControls.HyperLink6200
                SelerEmailTXTSystem.Web.UI.WebControls.TextBox9700
                RequiredFieldValidator1System.Web.UI.WebControls.RequiredFieldValidator8000
                SellerPasswordTXTSystem.Web.UI.WebControls.TextBox10900
                RequiredFieldValidator2System.Web.UI.WebControls.RequiredFieldValidator8000
                SellersRememberMeCBXSystem.Web.UI.WebControls.CheckBox13400
                loginSystem.Web.UI.WebControls.Button24600
                ValidationSummary1System.Web.UI.WebControls.ValidationSummary7200
        ctl13System.Web.UI.LiteralControl2000


    αν δεν το θες, www.antallakseto.gr
  •  31-01-2010, 16:49 56837 σε απάντηση της 56832

    Απ: Varia efarmogi

    Παναγιώτης Καναβός:

    Σε αυτή τη περίπτωση θα πρέπει να χρησιμοποιήσεις κάποιο profiler για να δεις πού χάνεται ο χρόνος.


    Έχεις να μου προτείνεις κάποιο profiler?

    αν δεν το θες, www.antallakseto.gr
  •  31-01-2010, 17:07 56838 σε απάντηση της 56837

    Απ: Varia efarmogi

    dotTrace - Σούπερ, το χρησιμοποιώ κι εγώ.

    ants profiler - Δεν το έχω χρησιμοποιήσει. Διαφημίζεται αρκετά.

    eqatec profiler - Δωρεάν. Το έχω χρησιμοποιήσει. Λιγότερο αναλυτικό αλλά λειτουργεί και χωρίς να έχεις τον κώδικα. Επίσης μπορείς να κάνεις profile ακόμα και στον πελάτη μια που δεν χρειάζεται να εγκαταστεθεί στο μηχανημα που τρέχει η εφαρμογή.


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  31-01-2010, 20:28 56843 σε απάντηση της 56838

    Απ: Varia efarmogi

    Το Trace δεν φένεται ανησυχητικό, ισα ισα, ούτε ViewState βλέπω και γενικά είναι ελαφριά η συγκεκριμένη σελίδα τουλάχιστον.
    Από εκεί και πέρα τώρα όπως είπαν τα παίδια μπορείς να χρησιμοποιήσεις κάποιον Profiler, όντως έxω ακούσει τα καλύτερα για αυτόν
    της JetBrains dotTrace.

    Αυτό γίνεται και σε Development περιβάλλον και σε Production?

    Μετά θα πρότεινα να δείς λύσεις όπως Caching, και όταν ανεβάζεις το Site σου κάντο PreCompile. Παίξε και με αυτά και δες
    αν σου λύσουν το πρόβλημα σου.
    Μικρή ίσως η διαφορά αλλά βάζε και το Debug="false" στο Web.Config όταν κάνεις publish το Site.



  •  31-01-2010, 21:11 56845 σε απάντηση της 56826

    Απ: Βαριά εφαρμογή

    Μήπως απλά κάνει recycle το Pool όπου τρέχει η εφαρμογή σου λόγο idle time και ουσιαστικά κάνει ξανά compile όταν το βλέπεις; Δες κάθε πότε σταματάει το Pool λόγω idleness.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  31-01-2010, 22:56 56849 σε απάντηση της 56838

    Απ: Varia efarmogi

    Dimitris Papadimitriou:

    dotTrace - Σούπερ, το χρησιμοποιώ κι εγώ.

    ants profiler - Δεν το έχω χρησιμοποιήσει. Διαφημίζεται αρκετά.

    eqatec profiler - Δωρεάν. Το έχω χρησιμοποιήσει. Λιγότερο αναλυτικό αλλά λειτουργεί και χωρίς να έχεις τον κώδικα. Επίσης μπορείς να κάνεις profile ακόμα και στον πελάτη μια που δεν χρειάζεται να εγκαταστεθεί στο μηχανημα που τρέχει η εφαρμογή.




    Τέλεια, σε ευχαριστώ πολύ, θα κατεβάσω για αρχή τον eqatec profiler.

    αν δεν το θες, www.antallakseto.gr
  •  31-01-2010, 23:00 56850 σε απάντηση της 56845

    Απ: Βαριά εφαρμογή

    Panagiotis Kefalidis:
    Μήπως απλά κάνει recycle το Pool όπου τρέχει η εφαρμογή σου λόγο idle time και ουσιαστικά κάνει ξανά compile όταν το βλέπεις; Δες κάθε πότε σταματάει το Pool λόγω idleness.


    Όχι δεν κάνει recycle το pool.
    Κάτι πολύ σημαντικό! και δεν το ανέφερα στην αρχή του post, είναι οτι το site τρέχει με load balancer.
    Υπάρχει μια περίπτωση να φταίει το sychronization αλλα υπάρχει κάτι το οποίο μπορεί να φταίει εκτός απο το sychronization?
    Δηλαδή κάτι προγραμματιστικό και όχι θέμα ρύθμισης server.

    αν δεν το θες, www.antallakseto.gr
  •  31-01-2010, 23:54 56853 σε απάντηση της 56850

    Απ: Βαριά εφαρμογή

    Υπάρχουν πολλά πράγματα που μπορείς να ψάξεις. Το profiling όμως τα βρίσκει πολύ εύκολα αν το χρησιμοποιήσεις σωστά. Οπότε μην ψάχνεις άλλο. Κάνε το profiling και θα βγει μπροστά σου. Πολλές φορές μάλιστα είναι η στιγμή που λες... "όχι ρε γ.....! αυτό το χαζό είναι".


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  01-02-2010, 11:26 56862 σε απάντηση της 56853

    Απ: Βαριά εφαρμογή

    Καλημέρα και από μένα. Δύο ερωτησούλες είσαι σε web farm ? και σε τι IIS παίζεις?

    Σε ευχαριστώ εκ των προτέρων

     


    Antonios Chatzipavlis

  •  01-02-2010, 14:35 56866 σε απάντηση της 56862

    Απ: Βαριά εφαρμογή

    Antonios Chatzipavlis:

    Καλημέρα και από μένα. Δύο ερωτησούλες είσαι σε web farm ? και σε τι IIS παίζεις?

    Σε ευχαριστώ εκ των προτέρων



    Ναι είναι σε Web Farm και ο IIS είναι ο 6.


    Σας ευχαριστώ όλους για το ενδιαφέρον.

    αν δεν το θες, www.antallakseto.gr
  •  01-02-2010, 15:29 56867 σε απάντηση της 56853

    Απ: Βαριά εφαρμογή

    Dimitris Papadimitriou:

    Υπάρχουν πολλά πράγματα που μπορείς να ψάξεις. Το profiling όμως τα βρίσκει πολύ εύκολα αν το χρησιμοποιήσεις σωστά. Οπότε μην ψάχνεις άλλο. Κάνε το profiling και θα βγει μπροστά σου. Πολλές φορές μάλιστα είναι η στιγμή που λες... "όχι ρε γ.....! αυτό το χαζό είναι".



    Ο Profiler δεν έδειξε κάτι ανησυχητικό.
    Συνεχίζω να το ψάχνω.
    Θα ενημερώσω το post όταν βρώ τελικά τι είναι.

    αν δεν το θες, www.antallakseto.gr
  •  19-02-2010, 15:59 57212 σε απάντηση της 56867

    Re: Απ: Βαριά εφαρμογή

    Δοκίμασε πειραματικά να γυρίσεις το port affinity του Load Balancer σε class C ή ακόμα καλύτερα σε Single για να βεβαιωθείς ότι δεν σε σαμποτάρει με κάποιο τρόπο το NLB.
    The people of the straight land have really got it made, a warm friendly sleep from the craddle to the grave
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems