Click here to Skip to main content
12,074,958 members (57,359 online)
Rate this:
 
Please Sign up or sign in to vote.
Hi all,
i have a web application which is very large in terms of form and database. we have around 150 web pages and 50 database table in database. somehow the architecture of the project is not good. we have used dev express controls , ajax tool kit , jquery , json , lot of sessions and viewstate in every pages. functionality of project is working fine but performance of the application is very poor. can anyone please help me to check how can we improve things based on performance. or some configuration settings may be on IIS.

we have used cache and gzip compression but other suggestions are also welcome.

Thanks
Posted 19-Feb-14 20:16pm
ravikhoda8.9K
Comments
VICK 20-Feb-14 1:19am
   
Have you tried optimization at DB end.. e.g. if you are using inline queries with select *.. you can change them to select field1, field 2 etc.. mean just get the desired results and so on.. Optmization at DB end can maximize your application performance.
ravikhoda 20-Feb-14 3:49am
   
thanks for all of yours suggestions i think database clean up will take a lot of time for me only and then i can test things again. i will apply other changes and update you later
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 2

  Permalink  
v4
Comments
ravikhoda 20-Feb-14 3:49am
   
thanks for all of yours suggestions i think database clean up will take a lot of time for me only and then i can test things again. i will apply other changes and update you later
thatraja 20-Feb-14 3:54am
   
welcome & let me know
Maciej Los 2-May-14 15:01pm
   
"Improve everything" link placed down to your sign on "Bugs And Suggestions" board - that's the way to chain attention ;)
+5!
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 3

  Permalink  
Comments
ravikhoda 20-Feb-14 3:49am
   
thanks for all of yours suggestions i think database clean up will take a lot of time for me only and then i can test things again. i will apply other changes and update you later
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

1) Use Stored Procedures where ever possible...
2) Check your queries in the SPs. Remove unwanted fields from the queries...
3) Index the Tables which are used most in Select queries..
4) If you are using SQL Server as DB, monitor the queries to identify which queries take more time to execute.
5) Do not store large data in Sessions/Viewstate.

The above points are basic points.

http://www.infoworld.com/d/data-management/7-performance-tips-faster-sql-queries-262?page=0,0[^]

and Refer the above link

Hope this gives the start you need...
  Permalink  
v3
Comments
ravikhoda 20-Feb-14 1:45am
   
1) Use Stored Procedures where ever possible...(already have this )
2) Check your queries in the SPs. Remove unwanted fields from the queries...(need to check on all sp)
3) Index the Tables which are used most in Select queries..(not done)
4) If you are using SQL Server as DB, monitor the queries to identify which queries take more time to execute. (will check this)
5) Do not store large data in Sessions/Viewstate. (there are lot of viewstate and session variables not sure which we can avoid)


one more thing. there are some columns in the database which were previously used but now they are not used in project. does these affect the performance of the project.
Dinesh.V.Kumar 20-Feb-14 1:54am
   
Just remove those. The query will unnecessarily fetch the columns when it is not required. Then these columns will be in memory and will be unused...Till it is cleared..

Also clear the memory as and when it is used..
Usage of proper design patterns in the web application will help you in memory management
For eg: using singleton pattern will help you manage the objects. The object once created will be reused when required and will not be created again and again when needed.

Find the Design Patterns suitable for your application and implement it..
It will reduce lot of over heads..

Regards
ravikhoda 20-Feb-14 1:55am
   
Tell me one more thing please which is better ..join query or inline sub query if we wanted to get data from multiple tables.
Dinesh.V.Kumar 20-Feb-14 2:30am
   
Joins are always better then subquery...
Jas 24 20-Feb-14 2:42am
   
yes you're right.My 4
ravikhoda 20-Feb-14 2:10am
   
lot of queries changed and need some more help..now i see that we have unwanted stored procedures as well. we have used that previously but now that code is totally changed/removed. for example lets say we have 20 extra sp in database which are not in used. does it affect the performance. i know these should obviously removed ...but what if they are still in the database..
Dinesh.V.Kumar 20-Feb-14 2:29am
   
Unused SPs will not affect your application...But queries that are being used if referring to unused columns may affect though the impact will not be big..but still may affect the application
ravikhoda 20-Feb-14 3:49am
   
thanks for all of yours suggestions i think database clean up will take a lot of time for me only and then i can test things again. i will apply other changes and update you later
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 4

It seems lot of client side scripting, there are some non-normalized tables if you can refine them,
1. using client side scripting improves performance but if you use too much of it, it may increase data transportation time which in turn may effect the performance of page loading and post-back, decide between client side and server side code by taking the performance also into consideration, usually that's what lot of applications are doing these days.
2. If there are tables which don't have proper normalization try put normalization if missing
3. If handling huge data then use Stored Procedures, EDMS doesn't work very well with huge data manipulations yet.
4. If there are stored procedures remove selecting all columns instead use column names in select statements.
5. Put proper where clauses, select data as chunks put them either in temp tables or table variables if the table has millions of rows, don't try to put joins on the whole table itself
6. You can add indexes on the original table as well as on the temp tables as well, but see how indexes are working with performance on that table.
7. And remove unused variables and code from C# code and follow the guidelines for refactoring code in C#, there are many books/links available regarding it.
8. Make changes and see which one is very effective for your application, it depends.


When I was working with one State Govt client, table variables were crashing the stored procedures and temp tables were working very fine, against the rule of Microsoft. When I investigated, it is because they have lot of physical memory but very less RAM, as RAMs are more expensive and need little more work for installations they had been just adding up the physical memory.

So it always depends upon the situation there, and there are other good solutions that other people have given follow them too like removing unwanted state management and etc.
  Permalink  
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web03 | 2.8.160208.1 | Last Updated 15 Jun 2015
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100