Jump to content

IPB 4 and server optimisation


Recommended Posts

Hello ! ^_^

I've upgraded my board to version 4 and it's not doing well at all right now : it takes about 40/50 seconds to load a page at peak times, and often the board simply doesn't respond...

=> I get a list of mysql processes which grows longer and longer, until I stop the website or restart services.

=> The server load isn't that high : between 3 an 5 (perhaps because of the content being rebuilt ? - it used to be about 1.50 with IPB 3.4).

=> I see a long list of php lines when doing a Top (SSH) and the first line corresponds to a php or mysql command, using more than 90 % of CPU.

IPB 3 was doing very well, mainly because I had the sessions table in memory, but now I don't know what to do regarding IPB 4 and performance. Moreover, I read that I can't place the sessions table in memory with IPB 4.

So, can you give me basic pieces of advice to improve performance ?

Thank you. ^_^

 

Information :

- Dedicated Server with 12 processors (Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz) and Centos 6.

- PHP 5.5.31

- Zend Engine v2.5.0
    with XCache v3.2.0
    with the ionCube PHP Loader v4.7.5
    with Zend Guard Loader v3.3
    with XCache Cacher v3.2.0

- MySQL 5.6.29

 

Link to comment
Share on other sites

Right now I have about a dozen innodb tables and the rest MyISAM as I monitor and continue to change tables. After some research I found it was okay to do. But honestly I think you have other issues. Not sure how the cpu can be running at 90%. Is your forum big? Also, innodb uses more memory but from what I understand is overall better. 

And is your disk HHD or SSD?

Link to comment
Share on other sites

Don't forget after converting over there is a major impact from initial indexing for the new search index. If your forums are large you will have to give it some time for that to settle out.

FYI IonCube is no longer needed for IPS 4 so unless you have other stuff that requires it (ditto for Zend Guard) those can ultimately be ditched if you are trying to get lean. Probably not hurting anything just sitting there though.

Long term consider moving over to MariaDB instead of stock MySQL. Search the forums here for the low-down.

 

Link to comment
Share on other sites

8 hours ago, Flitterkill said:

Don't forget after converting over there is a major impact from initial indexing for the new search index. If your forums are large you will have to give it some time for that to settle out.

My database is about 9 Gb big and the uploads directory is about the same size.

 

8 hours ago, tnn said:

And is your disk HHD or SSD?

It's an hybrid server with one SSD and two HDD (raid).

 

I'm going to try innodb, but i'll do it slowly since I'm not conversant with it...

Can you tell me which tables I should convert to innodb first ? (I'm going to monitor mysql tonight but if you can tell me some table names already, it will help).

 

Than you ! ^_^

Link to comment
Share on other sites

@SecondSight

A few weeks back I was having issues with my web host and not feeling secure with how my server was doing.  I was researching hosts, etc and then when actually responding to other posts here in this forum I came across some good posts about performance from the member @ASTRAPI 

https://invisionpower.com/profile/116854-astrapi/

and the consulting they do for setting up the forum on servers.  I sent ASTRAPI a PM and got a very quick response.  We had a decent conversation about what I had and what my setup is like.  Anyhow, I took the plunge and went all in with them.  Service has been fantastic.  You can check out my site here http://community.brickpicker.com .  If I wasn't loading banners, the pages would probably be as fast as they are here on IPB.

He pointed me to a solid host and a solid server that was in my budget.  Then he installed this type of setup.

  • Nginx with dynamic modules support
  • maraiDB 10.1
  • php fpm 5.6
  • multiple pools for internal load balancing
  • csf firewall
  • Memcache

Very diligent about contacting me about doing updates, so when there are new security fixes available he is right on it.  Responses are very quick and he loves to do this stuff, really gets into it and wants to make sure you site is performing well and secure.  Feel free to write me if you have any questions.  I was very happy with their service and will be setting up others serves with them as well.

Link to comment
Share on other sites

Hello  :)

Can you tell me how long it will take to convert a 5 Gb table to innodb, in your opinion ?
I may perhaps choose to clone the structure of the existing myIsam table, convert it to innodb and then transfer the existing data, if converting takes too long...

Thank you. ^_^

Link to comment
Share on other sites

Just now, SecondSight said:

Hello  ^_^

Can you tell me how long it will take to convert a 5 Gb table to innodb, in your opinion ?
I may perhaps choose to clone the structure of the existing myIsam table, convert it to innodb and then transfer the existing data, if converting takes too long...

Thank you. ^_^

It dependes on your server hardware. But it will take some minutes, thats for sure.

Make a clone of your database, convert the table and check the time it took. Then decide what is best ;)

Link to comment
Share on other sites

is it wise to change the tables to InnoDB performance-wise, even if the board is a lot smaller?

I just checked and everything is myIsam... thining about changing it to InnoDB to avoid dead locks.... is there a reocommended guide how to do this properly (i'm on a hosted service, so no direct access to the my.cnf - should be done via phpmyadmin

thanks in advance

Link to comment
Share on other sites

4 hours ago, ThomasS said:

is it wise to change the tables to InnoDB performance-wise, even if the board is a lot smaller?

I just checked and everything is myIsam... thining about changing it to InnoDB to avoid dead locks.... is there a reocommended guide how to do this properly (i'm on a hosted service, so no direct access to the my.cnf - should be done via phpmyadmin

thanks in advance

If your database is small, you can do it with phpmyadmin without problems.

Link to comment
Share on other sites

I tried today to convert the posts and the search tables (using a clone database) to innodb

Regarding ibf_forums_posts, it took 11 minutes to finish.

 

As for ibf_core_search_index, I got an error :

mysql> ALTER TABLE ibf_core_search_index ENGINE=InnoDB;
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

I read that the solution was to write this in my.cnf :

innodb_large_prefix=ON
innodb_file_format=Barracuda

and restart mysql, but it didn't help : I still get the same error...

Is there a solution ?

 

Thank you. ^_^

Link to comment
Share on other sites

57 minutes ago, SecondSight said:

I tried today to convert the posts and the search tables (using a clone database) to innodb

Regarding ibf_forums_posts, it took 11 minutes to finish.

 

As for ibf_core_search_index, I got an error :


mysql> ALTER TABLE ibf_core_search_index ENGINE=InnoDB;
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

I read that the solution was to write this in my.cnf :

innodb_large_prefix=ON
innodb_file_format=Barracuda

and restart mysql, but it didn't help : I still get the same error...

Is there a solution ?

 

Thank you. ^_^

You can empty that table, convert it to innodb and then rebuild the search.

Link to comment
Share on other sites

Hello ! ^_^

I did this :

TRUNCATE ibf_core_search_index

but I when I try to convert the search table again, I get the same error message :

mysql> ALTER TABLE ibf_core_search_index ENGINE=InnoDB;
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

 

EDIT : I ran this first :

mysql> ALTER TABLE ibf_core_search_index ROW_FORMAT=DYNAMIC;

 

Then  I restarted and it seems like it worked...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...