Archive for January, 2008

Optimize MySQL Select Query size

2 Comments »

The less data your website pulls from the back-end MySQL server, the faster it is. Imagine you need to display just 3 rows from a table with 2,500 records, but your code is looping through all 2,500 records generating extra, unnecessary load.

For example:

SELECT name,lastname from UserTable;

Optimized SQL query would be:

SELECT name,lastname from UserTable Limit 3;

Or, for example, you have a blob record of an article with 550 words and you want to display only the first 50 characters for the excerpt. Why do you need to pull out all 550 words if you can write… Read the rest of this entry »


Why MogileFS is the best choice

No Comments »

I bet you have already heard about MogileFS if you are reading this article. MogileFS is an open-source and distributed file system that offers many good properties and features that are hard to find in some of the expensive and proprietary file systems currently available.

MogileFS is a perfect choice for your next storage system if you are planning to build a high-scale service with large storage requirements that is capable of being distributed to multiple servers and low-cost hard drives. It features excellent fail-over capabilities that can be set up using Linux open-source HA project – and there are… Read the rest of this entry »


Using IPv4 anycast for load balancing

6 Comments »

IPv4 anycast is actually a very old technique, and it works as follows. One set of address space is announced in multiple physical locations using BGP. All data sent to this IP address block will travel to the “nearest” location BGP hop-wise, because the router will do BGP balancing and choose the path that has the shortest BGP ASN hops in it.

This works pretty well for stateless UDP-related services – for example, DNS UDP-based load balancing and distribution. This is what first-class providers such as Neustar Ultra Services (former UltraDNS), CriticalDNS and many root TLD operators use to offer… Read the rest of this entry »


WordPress CSS include optimization

3 Comments »

Who does run WordPress without a single plug-in? Not many, I guess. If you run a popular blog using a few plug-ins, it’s time for quick CSS file optimization.

To speed up the blog loading time a little, you should serve less hits – this provides lower latency and server network stack usage. You should found out any plug-ins of your blog use their own CSS files. If plug-ins have their own style sheet that it is loaded in every page for web visitors, you should consider moving CSS definitions to your main style sheet.

Remember, even the smallest performance… Read the rest of this entry »


Caching content to disk using Tugela cache

No Comments »

Today many folks use memcached for fast memory data access because RAM is cheap. However, for some heavyweight websites, 16GB of RAM or even 32GB is not enough, and keeping a lot of data in the RAM becomes expensive. It’s time to cache your content and data to hard disk using Tugela cache a “clone” derived from memcached. It will cache data in BerkeleyDB B-Tree database on the file system. Tugela cache is fast and compatible with memcached APIs; it will be a smooth transition to Tugela cache if you are already taking advantage of memcached.

Remember, it’s always better… Read the rest of this entry »


Nginx performance testing

1 Comment »

The other day I spoke with my friend who runs Nginx powered large scale site doing load balancing using 3 back-end boxes for file downloads. The performance looks amazing and I am sure we will set-up the test environment and do some real balancing tests.

We are currently preparing setting up our Linux based servers with 1Gbps connectivity/switching and tests with real results will follow shortly.


Positioning CSS and JS files in HTML content

1 Comment »

Have you seen a webpage that starts to load somewhat strangely in your browser and after a couple of seconds the design changes? Or the page loading stalls for a few seconds and then loads fine?

It’s important to correctly position the external file calls to Stylesheet and JavaScript files.

Rule #1. Move all JavaScript external file calls to the bottom of your HTML code.

Rule #2. Move all StyleSheets external file calls to the top of your HTML code.

There are of course a few exceptions – for example, if you have a specific Javascript code that calls up… Read the rest of this entry »


Smart caching for websites and blogs

1 Comment »

If you are creating a new website or modifying an existing one, you should always keep in mind that site speed depends on many factors. From the very beginning, you should carefully plan your site architecture, code and overall structure to make sure your site is easy scalable in the future without huge expenses and a great deal of infrastructure changes.

One of the most important performance boosts is the use of caching. In this guide, we will review multiple caching strategies that will boost your website performance and, if done correctly, decrease your site loading times and offer better… Read the rest of this entry »