Some Problems With Performance And Search- Advice Is Welcome


NotAsCoolAsItSeems's picture
1 point

OK the transition to Drupal hasn't been all good. I have discovered the limits of my host and some limits to Drupal.

The first and most glaring problem to me has been performance. The hosts bandwidth is adequate but its response time is not and neither is the database performance. Factors associated with shared hosting are causing problems.  

As soon as the USA or the UK hit their "peak" Internet hours the site struggles to load.

 

Before I started optimizing how bad was it?  " 503 server unreachable "  I was the only user and the site was in maintenance mode .  Bollocks to that.

 

Hosting options, as I mentioned earlier, is something I should have researched more before jumping right in.  So it's really my fault. oh well.

Y-Slow and Optimization

The limitations affecting performance seem to be database connections, memory limit (90Mb) and the response time of the server. (often shared hosting actually uses two servers one for files one for the database I assume this causes latency) No amount of tweaking can fix hardware inadequacy.

I have tried optimizing the site and so far I have managed to get a Y-Slow score of ..drum roll.......

" Grade B Overall performance score 87 "   without the adds running.

It was originally about 56 to 63 without the adds running.

With the adds the score is now about 65 depending on what page is loading, so I blew all my optimization on the add serving. Two steps forward one step back.

The adds are served through Openx Hosted which is at the moment a free service, It takes some of the load off your server if you are on a shared hosting like me.

I have gone and tested other sites out of interest, it seems  87 isn't too shabby but the site still loads slow , there are still some optimizations to implement.

I haven't even gotten around to creating CSS sprites. Once that's done I can turn off a few modules, turn on the sprites and maybe shave off a little load time by cutting down on the number of HTTP requests.

I have decided that once everything is humming along nicely and all the bugs and work-flow details have been ironed out that I will move to a better server.

For those of you interested in what I have done to speed up the site, here is a short list, I will write up a full detailed article on it once I have finished:

  • Aggregated and gziped Java and CSS files (modules are available at Drupal.org for this)
  • Minified most of the Java and CSS that I am not actively working on. (previous pages have links to tools)
  • Enabled gzip compression and other inbuilt Drupal performance enhancers
  • Used Smushit on all my images
  • I moved one line of code ( <?php print $scripts ?>) in the site template so that all java-script (except for 1 other line) is loaded after the page has downloaded. This doesn't really speed up the page load but it feels like it does to the end user.
    On this server the site will still take 2 - 4+ seconds to completely load a page, most users won't wait that long . This is kind of a work around to keep users from taking off before the page is loaded.  It lets the user start reading because they will see a progressive load rather than a white screen then "POP I'm loaded".  On long load times most users won't wait for the "pop" they will see the white screen and leave.

Below is the code moved to position in page.tpl.php to do that. It can mess up some modules so YMMV if you try this. It also won't help if java is added by a module to the body of the page. Openx uses some java-script. After enabling the openx adds I noticed the white pause in loading re-appeared until the adds had finished loading. I am going to have to see about moving the location of that script too.

 

 

 

NotAsCoolAsItSeems Copyright © 2009
 

<?php print $scripts ?> <?php print $closure ?>

 

 

Drupal Search

The other drawback in switching to Drupal is the search function. I know a lot of people have put a lot of work into the search , but it is just umm... whats the best way to explain this ?  It is only useful if you know exactly what you are looking for and how it's phrased in the document.

I have an article, "HP Officejet 6310 All-in-One Printer" is the title

If I search :

  • Officejet 6310 Printer -- yes results
  • HP Officejet 6310 All-in-One Printer -- yes results, it lists only the article
  • HP Officejet 6310 All-in-One Printer 3 -- no results because of one extra character " 3 "
  • HP Officejet 6310 All in One Printer -- no results at all. There are two or more officejet entries and far more printer entries none were found even if I specify "OR".

 

It seems odd that a platform that appears to be so well designed would have such a limited search function. Especially as it is a web technology which makes a good search a requirement. Maybe I have something configured wrong but I don't think so. I'll have to look into it.

 

As usual take everything written here with a grain of salt, this is my first website. If you are reading this page. I suggest you go to the first page of this blog to find out how much of a noob I am before taking anything I have written seriously.

 

 

 

 

 

 

 

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <p> <span> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <quote> <blockquote> <b> <u> <i> <strong>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal6>, <java>, <javascript>, <php>. The supported tag styles are: <foo>, [foo].

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.