• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 532
  • Last Modified:

Making our classic ASP website faster

Hello,

Our application which is in classic ASP needs some housekeeping.  Either to rewrite the whole thing again in some other language preferably PHP or making the existing one faster.  In short term the later is preferred.  Hence I was looking for suggestions.

1. Our database is growing at a large pace, when we designed the site there were just 100 users and now it has grown to more than 3000.  
2.  Although The SQL queries do not take time to execute in actual MySQL interface, there is some delay when the application runs.

I want your expertise on this to suggest ways to make the existing ASP application faster.

Does  changing the  host will help?  We are on shared hosting with godaddy.

Thank you,
Amruta
0
perlwhite
Asked:
perlwhite
  • 3
  • 2
  • 2
  • +1
2 Solutions
 
GaryCommented:
Don't use GoDaddy for hosting.
If the SQL is working fine directly then there is no reason they wouldn't be just as fast in code.  Which should lead you to the conclusion that your ASP code is the cause of the problem. (assuming its not down to hundreds of people trying to access the site at the same time.)
0
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
This is a pretty big question :)

Before I could offer any sound advice, it would be helpful to get a sense of what's "slow", Can you provide some basic examples of the types of pages that are slow? Are they pages that are accessing the database, or are they pages that have complex front end design and functionality?

Changing hots probably won't speed anything up, you're best bet is to try to optimize your code.

Awhile back I had built a site with a lot of queries that ran directly in my ASP code and some of them were veeerrrrrryyy slow. I switched them over to stored procedures and my page load time increased by 1000%! That may be avenue worth exploring.

Let's get some more details and maybe even a link to the site and go from there!
0
 
perlwhiteAuthor Commented:
Only a couple of Admins access the site.

"Slow" here means-
The admin search for their clients by 4 filters- by Last name, Counselor, Date, and company name.

The search is only one criteria at a time.  No fancy design or flash.  Then it forms a page where it puts all the query output into a form and that pretty much it.  Also, out of all these filters, only last name output is slow.

The issue is that- all five filters use the same get query function.  Even though the query is well formed such as

select ....... from ....
where... last name= ' abc'
and firstname='ccc'

The result page display takes around 9-10 seconds to display.

Hope this helps.
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
GaryCommented:
Try adding an index to the last name column in the db.
0
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
how many records are returned during a typical search? if you have hundreds of records being returned, you may want to look into paging

if there are a bunch of tables being joined, that can def cause it to be slow. I would recommend making the search query a stored procedure and passing in the search filters as parameters. To prove this would be faster, just run a typical search query directly in sql and see how much faster it returns data.
0
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
the reason why I recommend the SP route is because you're now putting the processing load directly on the database server, which tend to have more power.
0
 
perlwhiteAuthor Commented:
Looks like both solutions are good given by Cathal and Bigmonty
0
 
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
Just to add.....

Your actual queries could should be looked at.  There are a lot of great SQL folks here.  You may want to post your sql in either MySQL or MS SQL topic.  Just some simple things like:

sql="select * from myTable where FirstName like '%"&FirstName&"%' and LastName like '%"&LastName&"'% and something like  '%"&somethingelse&"%'

Just select the fields you actual need and create you sql dynamically so you don't have to  use "likes" where you don't need to.

If you are looping through your recordset like
do unitl rs.eof
    response.write rs("lastname")&"<br>"
rs.movenext
loop

Open in new window

Throw the result into an array right away using getrows() and close your db before moving on.

If you have a big join, that is where you will want to have some other experts check you query.  There are probably some ways of working you have not thought of.

Aside from that, if you are on shared hosting, step up to vps or dedicated.  Get as much RAM as you can afford.  4 gigs is nice 8 gigs is better.  

If you can get multiple drives, consider putting your db on a SSD drive.  Just moving to a dedicated or vps hosting service where the DB is not on shared services will make a huge difference.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now