CDN notes

Events happening in the community are now at Drupal community events on www.drupal.org.
arman's picture

Greetings,

We're preparing to rollout a CDN for our Drupal implementation and would like to get notes of other people's experiences.

We have about 1/2 million images that we primarily want to push out to a network.

There is a CDN module, http://drupal.org/project/cdn, that we've been looking at, however the author states:
"... it doesn't scale yet (yes, that's pretty ironic since the exact goal is better scalability ..."

Thanks,

Arman.

Comments

CDN Pull, Cache headers

cabbiepete's picture

Hi,

We don't have the large amount of content but are expecting a very large audience and we have decided to go the route of using the CDN as a routing/caching server. From an application point of view this is relatively straight forward in that we just need to get the caching headers correct and the CDN will serve that artifact until we said not to and/or check for changes (Etags) as expected also.

On evaluation we have found that there weren't any existing modules we were happy with and have decided to build our own. We will also be using apache configuration to help minimise the development work.

How are you intending to use the CDN i.e. store the content on CDN, have it pull it from you when needed and cache (like us) combination of above, something else?

Cheers,
Pete

Interesting -- we're looking at using Apache too

arman's picture

Our primary use is to cache the content on the CDNs -- we have a large audience and a large amount of content (images + css and js).

Plus our user generated content (including images) gets promoted to the front page and main landing pages immediately.

Thus we really have to check if the resource (image) has been pushed to the CDN (or not) before we modify references to it in our html from local to the cdn.

Two apache modules that may provide relief in an as-is capacity or with some hacking are mod_proxy_html and mod_publisher from http://apache.webthing.com/mod_proxy_html/.

To complicate matters a bit the CDNs want us to partition our images into 10 accounts for example image_cdn_0, image_cdn_1, ..., image_cdn_9 -- the cited reason is that the lookup and serving will be faster as we reduce the number of files per account (???) -- this can be done by using the last digit in the size of the file or by using a more exotic scheme such as picking the last digit of the md5 signature of the image of the file -- yuck!

I'd be very interested in learning how you're planning on using apache to integrate Drupal with your CDN.

Thanks,

Arman.

I might be off the mark

jason ruyle's picture

I might be off the mark here, but what about using Amazon S3. You can setup multiple static buckets for your different assets and serve them through S3. As of today, there is no direct upload from drupal to S3, but there is media mover, which will move your assets to S3 through cron.

With a little work, you could figure out a direct upload for your users.

As far as a static file

tjholowaychuk's picture

As far as a static file server goes I personally am not sure how much this would help, I am sure it would be beneficial but how much? May be better off to set up a static file server with litehttpd or something. Plus I'm not sure if Amazon S3 would provide the same functionality as a CDN in regards to Geologically dispersed serving

Vision Media - Victoria BC Web Design

High performance

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week