Announcement

Collapse
No announcement yet.

Performance tuning?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Performance tuning?

    Good morning. I run an NFL-related forum. I upgraded from our beloved vB 3.8x to 5.4 back in May. This weekend, we had our first NFL game since the upgrade and the forum was unusable during this high demand period. I'm guessing there are some settings on the server that need to be tuned in order to handle all of the requests during popular times? Where should I start?

  • #2
    Did I ask a bad question? How can I make my forum usable during periods of high demand?

    Comment


    • #3
      There is no straightforward answer to this question and the information provided doesn't allow us to provide any sort of answer at all. Server optimisation is a complex science dependent on a whole host of factors and there is no 'press this button' type of answer I'm afraid.

      As a bare minimum, we need to know the exact server specifications, including OS, version, RAM, php version, MySQL version, current settings, etc such as php memory limit, mysql wait_timeout, and a whole host of others.

      It should be noted that server optimisation isn't actually part of the support we provide and we will try to help on a 'best endeavour' basis only.
      MARK.B | vBULLETIN SUPPORT

      TalkNewsUK - My vBulletin 5.5.4 Demo
      AdminAmmo - My Cloud Demo

      Comment


      • #4
        The first thing we need to know (other than the technical data Mark mentioned above) is how much traffic you have.

        Comment


        • #5
          Originally posted by lottidah View Post
          Did I ask a bad question? How can I make my forum usable during periods of high demand?
          You asked an incomplete question that can't be answered.

          https://www.vbulletin.com/forum/foru...sues-questions

          First place to start is to make sure you're using PHP 7.2 and MySQL 5.7 or 8.
          Then make sure that all tables except language, phrase, and userfield are INNODB.
          Last edited by Wayne Luke; Thu 13th Sep '18, 10:32am.
          Translations provided by Google.

          Wayne Luke
          The Rabid Badger - a vBulletin Cloud customization and demonstration site.
          vBulletin 5 Documentation - Updated every Friday. Report issues here.
          vBulletin 5 API - Full / Mobile
          I am not currently available for vB Messenger Chats.

          Comment


          • #6
            I realize my question was general and not too specific but I am just getting started and hoped there was a reference document to review. I will look for the info Mark mentions. As for traffic, it's really not a lot, it's probably 100-200 folks clicking into the same conversation at the same time during the game.

            Wayne, can you explain how I would check this?
            Then make sure that all tables except language, phrase, and userfield are INNODB.

            Comment


            • #7
              You can look at the database in phpMyAdmin, HeidiSQL or other MySQL GUI and it will tell you what the Table Type is. Or you can run this query:
              Code:
              show table status;
              You can update individual tables to INNODB with this query:
              Code:
              ALTER TABLE my_table ENGINE = InnoDB;
              If you have access to your server's command line, the attached script will convert your tables to INNODB for you. To use it -
              1. Unzip the file.
              2. Rename vbutil_config.php.new to vbutil_config.php.
              3. Edit the file.
              4. Update the Database information at the top of the file.
              5. Upload the two files to your forum directory on the server.
              6. Create a database backup.
              7. From the command line use this command 'php myisamfix.phar -dofix'.
              8. Delete the two files from your server when it has completed.
              Attached Files
              Last edited by Wayne Luke; Fri 14th Sep '18, 8:44am.
              Translations provided by Google.

              Wayne Luke
              The Rabid Badger - a vBulletin Cloud customization and demonstration site.
              vBulletin 5 Documentation - Updated every Friday. Report issues here.
              vBulletin 5 API - Full / Mobile
              I am not currently available for vB Messenger Chats.

              Comment


              • #8
                I see a number of tables that are not set to INNODB so I will need to work on that. Meanwhile, today was another game and performance was again terrible. We had about 100 users attempting to discuss the game in one particular topic. The topic would frequently take a minute or more to load.

                Is there anything in this list below that pops out as our obvious problem? Something I should address first?

                Thank you.

                Click image for larger version

Name:	ServerStats.png
Views:	92
Size:	47.1 KB
ID:	4398556

                Comment


                • #9
                  Wayne has already mentioned that you should upgrade to php 7.2 as a starting point. Looking at anything else is pointless until this is done.
                  MARK.B | vBULLETIN SUPPORT

                  TalkNewsUK - My vBulletin 5.5.4 Demo
                  AdminAmmo - My Cloud Demo

                  Comment


                  • #10
                    Okay, thank you. I will start there.

                    Comment


                    • #11
                      Are you on a Shared, VPS, or Dedicated Plan with your hosting? I'm guessing you're on a Shared Plan.

                      GIPHY for vB5 AutoLinker Auto-Create Flag Report Topic Social Icons in Postbit Clear Cache Cron DragDrop Upload Topic AJAX AutoUpdate Custom Avatars Selector Stop Links in Posts...and more!

                      Comment


                      • #12
                        After getting the PHP upgraded there are a couple of ways to go depending on your server configuration. Your PHP memory is a little high and this won't actually help performance very much. Lowering this to 256 MB will probably help the server run more processes overall. Once you've upgrade PHP you should see a significant performance boost from that alone. This is in the range of being able to generate 2-3 times the number of pages in the same resources. See this link as an example: https://kinsta.com/blog/php-7-hhvm-benchmarks/

                        Once that is done and you have converted to INNODB, there are a few things you can do on a shared server.
                        • If your hosting provider allows Crontab, upload the file vbcron.php from your do_not_upload directory and set it up to run as often as provided by the hosting provider.
                        • Ask if your hosting provider has memcached installed? If they do, then get the IP Address and connection information. You can configure this in the /core/includes/config.php file.
                        • Breaking your topics up into multiple forums (you have two now) will help with the database queries and processing information. This will result in lower page load times.

                        If you're on a VPS with command line access or a dedicated server, you have other options.

                        Translations provided by Google.

                        Wayne Luke
                        The Rabid Badger - a vBulletin Cloud customization and demonstration site.
                        vBulletin 5 Documentation - Updated every Friday. Report issues here.
                        vBulletin 5 API - Full / Mobile
                        I am not currently available for vB Messenger Chats.

                        Comment


                        • #13
                          I'm on a VPS with command line access.

                          I've updated to PHP 7.2, updated vBulletin from 5.4.1 to 5.4.3, and then ran the INNODB fix Wayne provided. I did notice that several tables remained as the previous status but I figured that was by design and the script changed the tables it needed to.

                          I've updated the PHP memory to 256 as recommended.

                          I will look into the bulleted items you provided. Please feel free to list the other options you had in mind for command line access.

                          Thank you all again for your help!!

                          Comment


                          • #14
                            Make sure your attachments are stored in the file system. In the AdminCP go to Attachments -> Attachment Storage Type.
                            Make sure your Custom Avatars are stored in the file system. In the AdminCP go to Avatars -> User Picture Storage Type.

                            If your host doesn't provide memcached, then you can install it on your VM. This would allow you to move the datastore and long term cache from MySQL to memory. This would probably be your largest performance increase.

                            The other option that could improve performance is to switch to Sphinx for your search. This would require installing Sphinx on the server and building a word index for vBulletin. Your would move the search out of MySQL and distribute the load more.

                            Translations provided by Google.

                            Wayne Luke
                            The Rabid Badger - a vBulletin Cloud customization and demonstration site.
                            vBulletin 5 Documentation - Updated every Friday. Report issues here.
                            vBulletin 5 API - Full / Mobile
                            I am not currently available for vB Messenger Chats.

                            Comment


                            • #15
                              To move the attachments to the file system, where should the folder reside? I created a folder in my root folder (so: /forums/attachments) but when I specify it, it says it can't write to it, despite the proper permissions having been set.

                              Comment

                              widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
                              Working...
                              X