Tag: performance
About
Computer Performance is characterised by the amount of useful work accomplished by a computer system compared to the time and resources used.
Good Computer Performance means:
- Short response time for a given piece of work
- High throughput (transactions per time unit)
- Low resource utilization
Computer performance metrics include availability, response time, and capacity. Computer software performance, particularly software application response time, is an aspect of software quality that is important in human–computer interactions.
From en.wikipedia.org/wiki/Performance_Engineering
Some time ago I was in the situation where I was looking at 200 MyISAM tables
screaming to get converted to InnoDB for performance reasons.
You probably know that MyISAM is better at fulltext searches and such,
but what I needed was this database stop locking entire tables when I was
just doing row-level interactions. Here's how I did in one go.
Don't know Redis? Think Memcache, with support for
for lists, and disk-based storage.
You can use Redis as a database, queue, cache server or all of those combined.
Let's see how you can use this power in your PHP apps.
I still got sites running Apache, but all new projects are launched with Nginx. I don't need many of the features that Apache offers, and the speed gain of Nginx is just tremendous. Once you've experienced it, I doubt you'll want to go back.
Sometimes MySQL needs to work hard. I've been working on an import script that fires a lot of INSERTs. Normally our database server handles 1,000 inserts / sec. That wasn't enough. So I went looking for methods to improve the speed of MySQL inserts and was finally able to increase this number to 28,000 inserts per second. Checkout my late night benchmarking adventures.
Following Alan Pope and Christer Edwards, I too felt the need to log everything I that I setup right after an Ubuntu Desktop install. It ranges from customizing the user interface to setting up a programmers IDE. It's mainly for future reference by myself, but may bring you on a couple of ideas as well.
In PHP, sessions can keep track of authenticated in users. They are an essential building block in today's websites with big communities and a lot of user activity. Without sessions, everyone would be an anonymous visitor.
In system terms, PHP sessions are little files, stored on the server's disk. But on high traffic sites, the disk I/O involved, and not being able to share sessions between multiple webservers make this default system far from ideal. This is how to enhance PHP session management in terms of performance and shareability.
I used to use Dean Edwards Javascript Packer a lot to compress my Javascript sources. Libraries of 100kB could easily shrink to 30kB and that saves load times & bandwidth. A good writeup by Julien Lecompte made me realize that there were better ways.
Recently two of my articles reached the Digg frontpage at the same day. My web server isn't state of the art and it had to handle gigantic amounts of traffic. But still it served pages to visitors swiftly thanks to a lot of optimizations. This is how you can prevent heavy traffic from killing your server.
Everyone knows that RAM is so much faster than a hard disk. To illustrate, while a current SATA disk has peak transfer rates of 375 MB/s, current RAM can do a mind blowing 12,500 MB/s! Normally only the system itself makes use of this ultra fast storage, but we can also access this space directly. And that opens a great window of opportunity.
Let's say your site is becoming a big success and as a result it's becoming slower and slower. There are several things you do without buying additional hardware.