Performance is critical. Whether it be the performance of a personal computer, or the performance of a web based application, or a smartphone app all developers strive to write high-performance code and thanks to the ever improving speed of computers and ever improving performance of applications, our computers are becoming more useful every day. Some software does inhibit performance, for example Adobe Flash has become so bloated in recent years it’s painful to even use it anymore, which is especially sad because it’s so widely used (Adobe should be ashamed). Many personal computers also come pre-installed with “bloat ware” which is unnecessary software that does little aside from slowing down your computer and hurting battery life. Bloatware has become such a problem that some companies will even offer an option to remove this software when ordering a new PC, such as Sony’s Fresh Start option (which they sometimes charge $50 for, which Sony should be ashamed of)
It’s a wonderful thing. Queues are a great way to deal with performance issues. Generally, from an end-user perspective they make the system appear to work very quickly.
This is #2 in our series because if you are searching for information on performance fixes, chance’s are you need a quick fix of some type. Queues are a great quick fix, they are also suitable for long-term implementation, and can solve a variety of problems, however they are only useful in certain situations so don’t get overzealous. (more…)
When trying to optimize the performance of your MySQL database, the first thing you try is often the most futile:
We put this first because it’s often the first “fix” people arrive at when trying to fix performance problems, but we think it’s almost never the solution, so we want to get that out of the way first. Generally speaking, most Mysql tables are created in a very optimum way. 5-10 years ago that wasn’t necessarily the case, however these days most problems are caused at the application-level or table-desgin-level (aka. Improper use of tables or improper table structure). It might be worthwhile to skip this article, but it’s a good idea to keep Table Optimization in mind, just don’t assume that’s going to be some magical fix. (more…)
If you’re problem is your SQL, chances are you’re going to go about fixing it the wrong way. What is the “wrong way”? Trying to optimize Mysql settings is often a sign that you’re heading in the wrong direction. What should you do? Look at your SQL. Yes, just look at it.
That’s assuming you know what SQL is the problem. If you aren’t quite sure, try looking into Mysql’s Slow Query Log. Also use “mysql -e” or “mysqladmin processlist”. Maybe even make a cron to monitor this so you can go back and look at the logs. Bottom line: figure it out yourself, that’s not for this article. (more…)
MySQL thankfully has a built-in data type called “FULLTEXT”.
For a long time, it did not have a native keyword search engine (ie. natural language search). We’ve seen a lot of functionality become easier and more standard thanks to the introduction of FULLTEXT several years ago.
With a MySQL FULLTEXT column, all words greater than a certain length (default: 3 characters) are included in a keyword index. Some very common words are excluded. MySQL keeps a very efficient index of these keywords, and searching these fields can be much faster than using a LIKE or LOCATE() command.
To search a FULLTEXT column, you must use the MATCH AGAINST clause in MySQL:
MATCH (columnA, columnB) AGAINST ("keyword keyword2") (more…)
Database overloaded? High server load in general? Server stops responding for a few seconds at a time during high traffic periods, or crashes completely once in a while?
Here is the magic elixir for you!
The secret has been passed down to us through hundreds of generations, our ancestors gave their lives to find the secret. It’s truly is the ancient chinese secret. Mixed with a little spanish fly.
So what’s the secret to fixing your server’s performance problems? It’s to fix you’re server’s performance problems.
Yes, you read right.95% of the time when people need to fix their performance problems, this is what happens
1) They correctly diagnose the problem
2) They incorrectly go about solving it
You have to fix the actual source of the problem, rather than trying to control the side effects. Most developers can diagnose the problem without too much fuss, because if they can get FTP or SSH working, usually they are somewhat competent. Solving it is another story.
So how do you go about fixing the problems? We can’t tell you, but we can guide you – nudge you in the right direction just a bit.