Web technology Category

Nginx performance option for Solaris OS using eventport

No Comments »

To increase Nginx performance under Solaris OS you should use eventport event model. This will increase your server throughput at least 20%. Give it a try and see what performance it will offer you.

However, don’t forget to install a specific security patch from Sun Microsystems web site.

Example settings for nginx.conf:

events {
    connections   2000; # connection no.
    use eventport;
Read the rest of this entry »

Varnish and WordPress

No Comments »

I had a chance to speak with one fellow who asked us to do some in-house testing of using Varnish with WordPress. It might be very interesting because of caching dynamic pages and using ESI properly. I am sure we will do some testing and example set-ups and post about this topic in near future.… Read the rest of this entry »

Split static content delivery from dynamic content

No Comments »

When your blog visitors increase and so does the load it’s imperative to split static content delivery from dynamic content. You can do it in multiple steps, please continue reading some advice below.

Step #1.
Move images, thumbnails, CSS and JavaScript files to a super fast single threaded web server like Nginx or Cherokee. Split the content using a subdomain name, for example, http://static.yoursitenamehere.com

Step #2.
Move static content to Content Delivery Network (CDN) and offload your site load. CDN pricing varies from around $0.04 to $1.50 for 1GB of data transfer. If you are on a budget, try ValueCDNRead the rest of this entry »

Make your proxy server anonymous

No Comments »

If you are running squid or any other proxy software and you want to hide your real IP for security or privacy you should adjust your proxy server source or config to disable the following HTTP Headers:

REMOTE_ADDR = proxy_server_ip
HTTP_VIA = proxy_server_ip
HTTP_X_FORWARDED_FOR = proxy_server_ip

With squid (version 3) you can setup the following config in squid.conf file:

forwarded_for off

as well as add the following settings:

request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all

Read the rest of this entry »

Nginx high performance proxy caching system

No Comments »

Nginx has been built with ncache in the core. It’s very fast and offers great performance. It works quite nicely – you install nginx as a front-end proxy server and forward all php queries to Apache back-end. Then you set-up nginx to cache response from Apache back-end to static files on a file system (or even RAM disk).

in http{} section please define the path to proxy cache, levels, keys_zone name, expire time in minutes and max size in megabytes:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=staticfilecache:180m max_size=500m;
proxy_temp_path /path/to/proxy_temp;

Please note that proxy_cache_path and proxy_temp_path should be on the same file system.… Read the rest of this entry »

WordPress nginx integrator plugin

No Comments »

Nginx is super fast and it does include proxy caching with lots of advanced features. Finally, there is a high performance nginx and wordpress integrator plugin that offers nginx integration with WordPress. It still requires that you set-up nginx manually¬† (we can recommend Sharp Admin management company) but when you do it your server can easily serve thousands of hits per second from the static cache. We have been using similar nginx set-up in-house for years and it’s been very robust and reliable.… Read the rest of this entry »

Boost your WordPress blog performance with CDN Rewrites plugin

No Comments »

Finally a nice plugin has been released called CDN Rewrites. It does rewrite static content URL to custom URL. This does allow you to use remote Content Delivery Network (CDN) to distribute static content much faster (the cache edge nodes are much closer to the end user) and increase your site performance.

This plugin works with third party caching plugins (wp super cache for example) and does it what it has to do – rewrites images, style sheet files, javascript files and any other static file URLs to the content delivery network url – for example: http://static.yoursite.com or even … Read the rest of this entry »

Nginx two recent patches for null pointer and gx_http_parse_complex_uri buffer underflow

No Comments »

Nginx developers have released two patches – one that fixes null pointer reference, gx_http_parse_complex_uri() buffer underflow. Update immediate or your site can be attacked and nginx stopped remotely (so I heard).
Download the latest stable version and recompile the binary. Then run

kill -USR2 nginx_master_pid

Make sure you see new master nginx process running (you will see two master processes), kill the old one:

kill nginx_master_pid

And your site will be safe and screamingly fast once again!

Read the rest of this entry »

Increase your wordpress performance with W3 Total Cache plugin

No Comments »

We have been using memcached for quite long time with a very great success. It’s fast, it’s quite easy to use and incorporate in existing code. Furthermore, it’s totally free. Memcached caches value/key pair in RAM, thus giving fast access to it when you require.

Now, if you want to boost performance of your WordPress blog it’s quite easy – get a W3-total-cache plugin, configure it and you are set (remember, you will need a memcached server running otherwise you can’t use memcached “storage” from W3-total-cache plugin).

In our tests it boosted our WordPress blog performance from 20-200% depending … Read the rest of this entry »

Web content delivery

No Comments »

The amount of web traffic that plays a role in dynamic Internet content is large, and it has become much larger as users demand higher levels of personalization. It has become more important for content providers to provide information that is tailored to the specific needs of the customer. The biggest challenge with achieving this is the cost. With current technology, generating dynamic content can be quite expensive. It does not help that basic web schemes are not very useful for generating pages that are dynamic. There are two techniques that show a lot of progress in the field of … Read the rest of this entry »