22 replies
Anybody have any suggestions for somebody I can have diagnose why my blog is running extremely slow?

It's running JVPress, Wishlist and Simpleforum - and going VERY slow, so I get CPU throttling thrown in too. Any ideas?

Thanks, if you pm me I can give URL.
Ben Greenfield
#blog #issue #slow
  • Profile picture of the author TheHowToGuy
    Have you tried downloading CCleaner? If you PM i may be able to see if its just your computer or the actual site itself.
    {{ DiscussionBoard.errors[3343416].message }}
    • Profile picture of the author pacificfit
      All other sites run just fine from my browser, so I'm not sure CCleaner would be a solution...any other ideas?

      I've run WP-Optimize and it didn't seem to help at all. But I don't know much at all about databases. The actual site is at ben greenfield fitness dot com slash inner circle

      If you have any other thoughts, let me know!

      Thanks again,
      Ben
      {{ DiscussionBoard.errors[3343926].message }}
  • Profile picture of the author JohnyData
    Originally Posted by pacificfit View Post

    Anybody have any suggestions for somebody I can have diagnose why my blog is running extremely slow?

    It's running JVPress, Wishlist and Simpleforum - and going VERY slow, so I get CPU throttling thrown in too. Any ideas?

    Thanks, if you pm me I can give URL.
    Ben Greenfield
    Several things come to mind but the first thing I would do is to temporarily revert your blog theme to the default theme (TwentyTen I believe it is called) and see if the site is still slow to load. If your blog site loads fine with the default theme, I suggest changing your theme to something else and/or find someone who knows WP to see if they can figure out what coding aspects are causing the lag with your theme.

    If your blog is still slow to load after reverting to the default theme, try the following just to start with as these are some of the more common causes:
    1. Download and use a plugin called Revision Control. Everytime you create and edit a post, a "revision" copy is also stored. This can grow your database extremely fast. Revision Control will enable you to stop revisions from being saved. (You can also add a line to your wp-config.php file -- PM me for the code, but I won't post it as most people are afraid to edit coded files)
    2. Optimize your database.
    There are other steps to take, but try the above first and let me know if anything worked for you.
    {{ DiscussionBoard.errors[3343463].message }}
    • Profile picture of the author pacificfit
      Johny,

      Thanks for taking the time to respond. The issue with theme disabling is that the entire site is structured on the JVPress launch theme, so I can't do that...

      WP Optimize didn't seem to fix things, I ran it a few days ago...

      If you have any other thoughts, let me know!

      Thanks again,
      Ben
      {{ DiscussionBoard.errors[3343927].message }}
      • Profile picture of the author JohnyData
        Hey Ben,

        Changing the theme would only be temporary, just to see if the default theme would load any quicker for you. Just 1 step in the troubleshooting process. If you still can't (or won't) do it, even for 3 minutes to test it out, there is no real way to tell if it is the theme, the server, the plugins, the content, etc...

        As for WP-Optimize, I am not sure exactly what it does. I mean, I realize it runs some sort of optimization algorithms, but not sure of the exacts and specifics, so, I would still strongly recommend trying to use the Optimize function directly within your phpMyAdmin.

        If you can try either (or both preferably) and then post back here with the results, we can attempt to help you 'investigate' further if need be.
        {{ DiscussionBoard.errors[3343975].message }}
  • Profile picture of the author JohnyData
    Also, is it the inner circle area that has you concerned or the root section of the domain (pages at bengreenfieldfitness.com)?
    {{ DiscussionBoard.errors[3344001].message }}
    • Profile picture of the author pacificfit
      The InnerCircle *seems* to be what is running slow, but it could be the root section. Fact is, I really don't know. I did run the optimize option from within myPHPadmin, but that didn't seem to fix anything. I'm not sure if there's a good way to monitor CPU throttling in real time if I play around with the theme disabling...would that be an option?
      {{ DiscussionBoard.errors[3344282].message }}
      • Profile picture of the author jminkler
        Originally Posted by pacificfit View Post

        The InnerCircle *seems* to be what is running slow, but it could be the root section. Fact is, I really don't know. I did run the optimize option from within myPHPadmin, but that didn't seem to fix anything. I'm not sure if there's a good way to monitor CPU throttling in real time if I play around with the theme disabling...would that be an option?
        I love all this poorly written code, cause all the gurus promote outsourcing to the cheapest bidders. Really makes me laugh some times.
        {{ DiscussionBoard.errors[3344754].message }}
        • Profile picture of the author pacificfit
          Problem is, I run a podcast through Feedburner and iTunes, and WP-SuperCache, which I've run before, F's up my feed....

          ...is there somebody that comes recommended who I could hire to diagnose and fix it for me? I tried "justanswer.com" and got nothing....
          {{ DiscussionBoard.errors[3344971].message }}
          • Profile picture of the author jminkler
            Originally Posted by pacificfit View Post

            Problem is, I run a podcast through Feedburner and iTunes, and WP-SuperCache, which I've run before, F's up my feed....

            ...is there somebody that comes recommended who I could hire to diagnose and fix it for me? I tried "justanswer.com" and got nothing....
            Isn't there an option to ignore the feed when caching? I forget. like ignore /feed
            {{ DiscussionBoard.errors[3345043].message }}
  • Profile picture of the author jminkler
    WP is a slow Piece of junk if you don't install the right plugins. Try WPSUperCache, and plugins that compress and combine JS and CSS. WPSuperCache will create STATIC html pages (updated when you click update post). Therefore, it bypasses WP completely only loading static HTML, which is much faster.
    {{ DiscussionBoard.errors[3344748].message }}
  • Profile picture of the author n7 Studios
    Originally Posted by pacificfit View Post

    Anybody have any suggestions for somebody I can have diagnose why my blog is running extremely slow?

    It's running JVPress, Wishlist and Simpleforum - and going VERY slow, so I get CPU throttling thrown in too. Any ideas?

    Thanks, if you pm me I can give URL.
    Ben Greenfield
    Hi Ben,

    I think we discussed this a week or so ago, and our investigations pointed to a poorly optimised / indexed database, or possibly an issue with the database server, as queries across the theme and a number of plugins were running slowly (ex. 7 - 8 seconds), regardless of which theme or plugin was enabled / disabled.

    Were you able to speak to your web host to see if they could assist? Occasionally they may be able to move your database to a different database server, which can help or at least rule out that issue.

    Tim.
    {{ DiscussionBoard.errors[3346216].message }}
    • Profile picture of the author tirupati
      Blog is slow use wp_supercache to make your blog thunderlight fast
      {{ DiscussionBoard.errors[3346311].message }}
    • Profile picture of the author pacificfit
      Hi Tim,

      I spoke with Bluehost and they were no help whatsoever, although I did manually optimize all my databases per your suggestion. I *have* noticed that throttling tends to coincide with my Wednesday release of each podcast episode, which goes to Feedburner. Do you suppose this is merely coincidental, or is there something I could address with my feed?
      {{ DiscussionBoard.errors[3347885].message }}
      • Profile picture of the author pacificfit
        Is there anybody who I could hire to work on this for me?
        {{ DiscussionBoard.errors[3362603].message }}
        • Profile picture of the author Evan-M
          Originally Posted by pacificfit View Post

          Is there anybody who I could hire to work on this for me?

          If you could give me access to the code, ill take a look and see what i can find that may be causing the issues.

          I think it may be an issue with the video in the sidebar, and the browser having to load the entire video before a page. comment out the video code and see if that makes any difference.

          if it does you need to setup your videos to stream and not load on pageload.

          the multiple JavaScripts for footer popup and popovers on every page load also isn't helping the matter.

          your using a close to hd video at a large resolution for a 200px video

          http://videos.sproutvideo.com/embed/...0813dd?type=sd

          this could be optimized dramatically.

          also your images are massive
          http://www.bengreenfieldfitness.com/...es/cycling.png

          140kb for this png image, that saved as a jpg would be around 20-30 and you have them all over the place.

          you also have 12 iframes loading that need to pull in information from 12 different locations on every page load.

          with all of these problems combined , page loads you can expect are
          Connection Rate Download Time
          14.4K 1062.56 seconds
          28.8K 550.08 seconds
          33.6K 476.87 seconds
          56K 301.16 seconds
          ISDN 128K 118.32 seconds
          T1 1.44Mbps 44.61 seconds
          Cable 15-25 seconds

          In a nut shell.

          optimize the images
          stream the videos from a video streaming service
          get rid of some of the iframes
          get rid of one of the popups.


          TOTAL_HTML - Warning! The total number of HTML files on this page is 12 - consider reducing this to a more reasonable number.

          TOTAL_OBJECTS - Warning! The total number of objects on this page is 188 which by their number will dominate web page delay. Consider reducing this to a more reasonable number. Above 20 objects per page the overhead from dealing with the actual objects (description time and wait time) accounts for more than 80% of whole page latency. See Figure II-3: Relative distribution of latency components showing that object overhead dominates web page latency in Website Optimization Secrets for more details on how object overhead dominates web page latency. Combine, refine, and optimize your external objects. Replace graphic rollovers with CSS rollovers to speed display and minimize HTTP requests. Consider using CSS sprites to help consolidate decorative images. Using CSS techniques such as colored backgrounds, borders, or spacing instead of graphic techniques can reduce HTTP requests. Replace graphic text headers with CSS text headers to further reduce HTTP requests. Finally, consider optimizing parallel downloads by using different hostnames or a CDN to reduce object overhead.

          TOTAL_IMAGES - Warning! The total number of images on this page is 138 , consider reducing this to a more reasonable number. Recommend combining, replacing, and optimizing your graphics. Replace graphic rollover menus with CSS rollover menus to speed display and minimize HTTP requests. Consider using CSS sprites to help consolidate decorative images. Use CSS techniques such as colored backgrounds, borders, or spacing instead of graphic techniques to reduce HTTP requests. Replace graphic text headers with CSS text headers to further reduce HTTP requests. Finally, consider optimizing parallel downloads by using different hostnames to reduce object overhead.

          TOTAL_CSS - Warning! The total number of external CSS files on this page is 7 , consider reducing this to one or two external files. Combine, refine, and optimize your external CSS files. Ideally you should have one (or even embed CSS for high-traffic pages) on your pages. You can optimize CSS files using shorthand properties, grouping, and then minify and GZIP compress them to reduce their footprint. Remember to place CSS files in the HEAD and JavaScript files at the end of the BODY to enable progressive display.

          TOTAL_MULTIM - Congratulations, the total number of external multimedia files on this page is 1 .

          TOTAL_SIZE - Warning! The total size of this page is 3068522 bytes, which will load in 301.16 seconds on a 56Kbps modem. Consider reducing total page size to less than 100K to achieve sub 20 second response times on 56K connections. Pages over 100K exceed most attention thresholds at 56Kbps, even with feedback. Consider optimizing your site with Website Optimization Secrets, Speed Up Your Site or contacting us about our optimization services.

          TOTAL_SCRIPT - Warning! The total number of external script files on this page is 29 , consider reducing this to a more reasonable number. Combine, refactor, and minify to optimize your JavaScript files. Ideally you should have one (or even embed scripts for high-traffic pages) on your pages. Consider suturing JavaScript files together at the server to minimize HTTP requests. Placing external JavaScript files at the bottom of your BODY, and CSS files in the HEAD enables progressive display in XHTML web pages.

          HTML_SIZE - Warning! The total size of this HTML page is 139196 bytes, which is over 100K! Consider optimizing your HTML and eliminating unnecessary content and features. Recommend that you substitute abstract CSS rules for repeated embedded styles and eliminate as many comments and whitespace as possible. Using HTTP compression to compress your XHTML with GZIP can reduce your html by an average of 75%.

          IMAGES_SIZE - Warning! The total size of your images is 827434 bytes, which is over 100K. Consider switch graphic formats to achive smaller file sizes (from JPEG to PNG for example). Finally, substitute CSS techniques for graphics techniques to create colored borders, backgrounds, and spacing.

          SCRIPT_SIZE - Warning! The total size of external your scripts is 291588 bytes, which is over 20K. Consider optimizing your JavaScript for size, combining them, and using HTTP compression where appropriate for any scripts placed in the HEAD of your documents. You can substitute CSS menus for JavaScript-based menus to minimize or even eliminate the use of JavaScript.

          CSS_SIZE - Warning! The total size of your external CSS is 29596 bytes, which is over 20K. Consider optimizing your CSS for size by eliminating whitespace, using shorthand notation, and combining multiple CSS files where appropriate. By using labeled container cells and descendant selectors you can target chunks of HTML content efficiently without the need to embed extra claases and styles.

          MULTIM_SIZE - Warning! The total size of your external multimedia is 34634 bytes, which is over 30K. Consider optimizing your multimedia files for size, or replacing them with lower-bandwidth alternatives, or eliminating them altogether.
          Signature

          Evan-M

          Easily The Worlds Best Wordpress Popup plugin

          Visit Website Design Firm For All Your Wordpress Coding Needs

          {{ DiscussionBoard.errors[3362690].message }}
          • Profile picture of the author pacificfit
            Evan, this all makes perfect sense, but I'm super busy this week.... if you want to make some quick cash just PM me or e-mail me (ben@bengreenfieldfitness.com) and I'll hire you to make these tweaks. I'd be happy to pre-pay you via Paypal if you'd like.
            {{ DiscussionBoard.errors[3363009].message }}
          • Profile picture of the author pacificfit
            Also, I checked slow query logs for Feb 14. These are actual counts for every query entry for a certain database.

            3 use trainfo2_easyclickmate;
            1 use trainfo2_pfsearch;
            3 use trainfo2_php1;
            174 use trainfo2_sswp01;
            5 use trainfo2_ultimatefooter;
            5 use trainfo2_vnl1;
            462 use trainfo2_wpbgf;
            92 use trainfo2_wrd2;
            25 use trainfo2_wrd4;
            {{ DiscussionBoard.errors[3363677].message }}
            • Profile picture of the author pacificfit
              And it looks like a ton of the slow queries are due to comments. ?
              {{ DiscussionBoard.errors[3363747].message }}
  • Profile picture of the author pacificfit
    Thanks to Evan-M for figuring this out for me and fixing it. The site is WAY faster now - removed a bunch of unneeded scripts, traded out for faster loading images, etc. This guy rocks!
    {{ DiscussionBoard.errors[3387809].message }}
    • Profile picture of the author Evan-M
      Originally Posted by pacificfit View Post

      Thanks to Evan-M for figuring this out for me and fixing it. The site is WAY faster now - removed a bunch of unneeded scripts, traded out for faster loading images, etc. This guy rocks!
      Thanks ben, Glad I could help
      Signature

      Evan-M

      Easily The Worlds Best Wordpress Popup plugin

      Visit Website Design Firm For All Your Wordpress Coding Needs

      {{ DiscussionBoard.errors[3387831].message }}
      • Profile picture of the author spradlig
        I read about half the replies and skipped to posting, so I apologize if this is redundant.

        The problem may not be MySQL or WordPress at all.

        I have a WP install running a network of sites. It's an autoblog with about approx. 50 blogs in the network, each automatically posting approx. 20 post a day. Google liked it and so my traffic climbed to around 300 hits a day back in Oct.

        At that point the site spent more time down than up. First, it got really slow. Then it got slower. Then it got so slow as to only show error messages. Then my hosting starting complaining that my VPS was bringing down the whole server and crashing other people's sites. Problems galore.

        As the site was getting slower and slower and slower (but before it started to crash other sites) I started asking my hosting company for tech support on how to fix the problem. First, we moved the DB to another VPS. Then we optimized the DB - they suggested only doing so once a month or so but the optimization function took only a few seconds and I was getting a lot of SPAM comments (which when deleted tend to make your tables less than optimized) so I run the optimization every 24 hours.

        I even paid them - twice - to optimize the site. Still no luck. I moved the site to MediaTemple where their automated tools could tell me how much processor each call to the site was using. I found that there were a lot 404 errors tying up a lot of resources. I also found out - via MT's tech support - that WP Unique ties up a lot of processor cycles and takes a long time. (I love WP Unique and use it everywhere but after this I started looking at the code and it is very inefficient IMHO. With about 4 hours of tweaking I reduced the process time to about 20% of the original time and have implemented my hack/klooge/bandaid on a couple of domains.)

        I finally had to move the site a dedicated server. This fixed the problem so well that Google started sending me almost twice the traffic and then the problems returned. The dedicated server is a dual core intel with 4 GB RAM running a LAMP server. It really shouldn't have resource problems at my traffic levels so I started really digging into the logs and found lots of what looked like script kiddies trying to break into MySQL and PHPMYADMIN. Also, I was seeing a lot of 404 errors from the same IP... So I assumed I was being attacked via some form of denial of service.

        I installed a new Apache module - Spamhaus - which accomplished nothing. This suggested to me that the problem wasn't the attack type I thought it was if an attack was the issue at all. So I set up a cron job to restart Apache every few hours. The site seems to be stable and quick for a couple of hours at a time so the cron job could keep the site up most of the time. However, this obviously isn't an ideal solution.

        I eventually found some recommended settings for Apache from Linnode. I was worried these would limit several aspects of Apache. However, I have yet to see any issues what so ever with the settings. My site is not limited in any way that I have found, it is never down, I've never been denied a page when I went looking, and it is very fast now. The problem may not be MySQL or WordPress at all but the default Apache settings in combination with people messing with your site.

        Thought I'd throw it out there since this long post is the culmination of about 2 months worth of banging my head against a wall and it might just save you a lot of time. Here are the settings I changed in my /etc/apache2/apache2.conf - I run Ubuntu if you are running something else the file may be somewhere else:

        <IfModule mpm_prefork_module>
        # Original Settings
        # StartServers 5
        # MinSpareServers 5
        # MaxSpareServers 10
        # MaxClients 150
        # MaxRequestsPerChild 0
        StartServers 1
        MinSpareServers 3
        MaxSpareServers 6
        ServerLimit 24
        MaxClients 24
        MaxRequestsPerChild 3000
        </IfModule>

        Here is the MySQL command for optimizing a DB:
        /usr/bin/mysqlcheck -o -v -u { { User } } -p{ { Password } } { { DB } }
        Obviously replace anything that includes { { and } }. (There is no space btwn -p and the password.)
        {{ DiscussionBoard.errors[3389243].message }}

Trending Topics