Performance problems with the TikiWiki
Now that I have running the TikiWiki on a dedicated server, I have the ability to take a close look what is going on with the server when the TikiWiki is running.
I use phpMyAdmin for that, because I discovered the biggest overhead of TikiWiki is its connections to the database (MySQL).
And I must tell you that it is really expensive in processing and specially database connections.
-
I've upgraded my server with many gigabytes and that is already really enough. I changed the address space in php from 256Mb to 700Mb, and I see the difference in performance. The pages are going quick, menus are very fast.
But then it comes. The second person shows up, then the third, etc. and the problems begin.
The speed is reduced again and what makes it so slow? I look to the server load (0.05%-1.1%) and that was fine. But then I saw the number of connections to the MySQL, and my heart froze (including the fancy, big dedicated server by the way) ("Too many Connections to the database").
Back to the TikiWiki (after resetting the machine and put the TikiWiki on hold).
The TikiWiki I use has only one component: the galleries. The rest I stripped from the TikiWiki, because it was too heavy.
When one person is downloading a file (a 'large one' of 1 Mb), a data connection is being made and stays until the download is finished.
But I have also files with 25 Mb and the same occurs, of course.
And what happens when 10 people download at the same time multiple files? Right, the database engine crashes (too many connections in the database).
There is nothing I can do about that, and this is obviously not a bug, it is a design issue. In my opinion, the one who designed it, has no idea that he or she designed to use the TikiWiki for small stuff, nothing serious. Anyone with a public access to the TikiWiki can exploit it and bring down the server in a minimum of time.
So I do something dirty and limited the connection to the MySQL and what happens. Pen and paper is faster! That is not a solution.
I can't wait for another version, so I go over to other software (for the galleries). The rest was already forcefully moved, so there is nothing left.
Sorry about that, but the TikiWiki looks great and 'feels' good, but I learned that it is a trap. What really goes on behind the scenes is terrifying. There is no way I can buy hardware to pull the TikiWiki in a production environment. Buy Oracle? The same, except that Oracle supports more concurrent database connections to the database, but that is also limited. Maybe I need to check for a Microsoft SQL-Server 2008 or 2010. Those DB-servers supports more concurrent data connections and the SQL Server 2010 supports almost unlimited I believe.
But I have a Linux box and why should I pay for such servers when other software is doing it much different without the limitations?
And then I can't help to wonder why the designers of the TikiWiki allowed something like this to happen! I would focus on redesigning the engine that it would not have such load on the database.
-
I am really sorry, but in production environment, I can't use the TikiWiki, it has too many problems. Maybe later when the problems are solved. Now I am transferring the users I have to another environment and continue with that.
Wim