vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Forum and Server Management (https://vborg.vbsupport.ru/forumdisplay.php?f=232)
-   -   /clientscripts over to Amazon S3/Cloudfront? (https://vborg.vbsupport.ru/showthread.php?t=220237)

imported_silkroad 09-09-2009 10:04 PM

Quote:

Originally Posted by RedWingFan (Post 1882282)
Did you go the replacement variable route, or did you do something else? I realize that I'm probably missing a handful of files, but at least I have the majority of them on the CDN. My solution may be 95%... ;)

Everything... RRs, template edits, CSS edits, stylevars and manual database edits.... it is really a lot (a LOT) of unnecessary work to move content to a CDN with vBulletin. A few configuration variables (like vB does for YUI), and the vB would be CDN friendly. I worked my you-know-what off, and still think we are only 95 percent there.

Plugins are worse. vBSEO is not CDN friendly (and they don't seem to care either, LOL). Most plugins have hard coded paths as well......:( :(

The good news if that if you need a CDN, that is a "good problem to have" ..... so we can't complain too much can we? On the other hand, it would be so simple for Jelsoft to make vB CDN friendly. (((They add features in their releases that are useless for many of us. We just would like to see some simple CDN friendliness, ROTFL, not a bunch of fluffy suboptimal blogs and very little used social networking features ...... :D )))

RedWingFan 09-09-2009 11:24 PM

Quote:

Originally Posted by imported_silkroad (Post 1882289)
Everything... RRs, template edits, CSS edits, stylevars and manual database edits.... it is really a lot (a LOT) of unnecessary work to move content to a CDN with vBulletin. A few configuration variables (like vB does for YUI), and the vB would be CDN friendly. I worked my you-know-what off, and still think we are only 95 percent there.

That's one reason I went with the replacement variable option: I didn't want to invest a lot of work in something that we were only using on a trial basis, and be too difficult to undo if we decided not to go with the CDN after all. By doing a View Source on the vB pages, I could see all the rewritten URLs, and that is how I solved one of my problems (can't recall if it was clientscript, or CSS, or the avatars).

I agree about the amount of work: one of my wishlist features for vB would be configurable paths, which would apply to CDNs and/or hosting images on other servers. The other wishlist feature would be Sphinx search integration, but that's a whole different topic!

john2k 09-09-2009 11:36 PM

Quote:

Originally Posted by imported_silkroad (Post 1882278)
Actually we use a CDN for a number of reasons (not one reason).
  • Global delivery from the CDN network (network performance, end user experience globally)
  • Deliver static content from "other than" origin server (server performance, user experience globally) reducing load (CPU, memory, and device IO) on origin-server.
  • Network robustness, more secure, content delivered from many nodes globally, not one node or a geographic cluster.

I agree with all of this. What initially got me using a CDN was to offload hosting of static content, as you also mentioned a few times in this thread, in order to increase the performance of my server for the dynamic content. However, everything that you mentioned here might be what keeps me using CDNs even after I upgrade my server.

Quote:

Originally Posted by imported_silkroad (Post 1882278)
PS: I am now considering GeoIP-based DNS in the future, for distributing origin servers globally, but there is no rush for this at the moment.

I wish one of the free DNS providers like SiteLutions offered GeoIP-based DNS services. Do you know of any?

I've been using DNSMadeEasy for a while since they have a very robust DNS architechture at a great price, but I do not believe they offer GeoIP DNS services. Even some of the CDNs do not use DNS for redirecting viewers to their edge servers but rather do this per each request, probably using a GeoIP database such as the one provided by MaxMind and dynamically selecting which edge server to redirect the viewer to. This is also good in some cases for the CDNs that can dynamically redirect traffic away from congested nodes.

Quote:

Originally Posted by imported_silkroad (Post 1882278)
RE: Highwinds

Highwinds does not appear to publish their pricing model like Amazon and SimpleCDN.

I actually first started using Highwinds via SimpleCDN as they promoted Highwinds' Hurricane service as their enterprise offering. The price was something like 7.9 cents per GB + a small storage fee. Highwinds has roughly twice the number of locations as SimpleCDN and I believe they also peer directly with many ISPs (I think it's something like 900 or so ISPs). Highwinds also has a great stats reporting system. SimpleCDN, afaik, has recently stopped using Highwinds, though.

At this point, though, I wouldn't recommend Highwinds for static images because the way they redirect images to their edge servers causes the images to not be browser cache friendly. It's rarely an issue, because they are usually quite fast, but I still think that more efficient use of the browser cache would speed things up even more.

Quote:

Originally Posted by imported_silkroad (Post 1882278)
Also, since we are taking vBulletin forums, most forums serve small images (buttons, attachments, icons, avatars), CSS files and JavaScript (as static content).

Forums are not really applications that serve streaming coverage of presidential inaugurations (that is not really vBulletin).

Bringing massive streaming content requirements into the discussion has very little to with a "normal" vBulletin application, frankly speaking, which would be 99.99+ vBulletin sites.

Of course. I was simply explaining the true design purpose for CDNs and the business need that they were created to address. That is, getting the content closer to end users in order to better address the network issues.

imported_silkroad 09-10-2009 06:41 AM

Quote:

Originally Posted by john2k (Post 1882328)
I was simply explaining the true design purpose for CDNs and the business need that they were created to address. That is, getting the content closer to end users in order to better address the network issues.

I worked with Akamai and their CDN a number of years ago, long before the new CDN players we have now.

The purpose of CDNs have been to improve content delivery. The "top" established CDNs (like Akamai) use proprietary algorithms to determine the best place to serve content. The best node / location to serve content may or may-not be "closer" to the end user.

Most commercial CDNs do not rely on "closeness" but on a type of global performance map that directs users to the best delivery point, regardless of geographic distance.

So, for well designed CDNs (from the beginning of CDN history), network latency, load, bandwidth, etc were all key criteria to determine where to serve content.

Currently, one CDN I know of is serving EU users from the US because their EU nodes have been under a severe DDOS attack (another advantage of using a CDN in practice).

Cheers.

tpearl5 09-12-2009 03:00 PM

Can anyone help with this problem: http://www.vbulletin.com/forum/showthread.php?p=1786627 ?

hydn 10-16-2009 12:41 AM

Quote:

Originally Posted by tpearl5 (Post 1883699)
Can anyone help with this problem: http://www.vbulletin.com/forum/showthread.php?p=1786627 ?

Yup mirror the same files AND the same folder structure as your forum root ON the CDN.

OR create a rewrite

Works like a charm.

tpearl5 10-16-2009 01:00 AM

it's a little more complicated than that. take a look at the wysiwyg problem

imported_silkroad 10-16-2009 11:59 AM

OBTW, we have experiencing very bad performance problems with SimpleCDN.

PS: We have been running all js and images thru the CDN (including the wysiwyg clientscript).

RCA 10-16-2009 05:05 PM

timeouts with SimpleCDN here too, seems origin cache bot wasn't working correctly.

At this moment is ok again.

imported_silkroad 10-17-2009 05:08 AM

Thanks. We can't even get SimpleCDN to respond to any performance related support tickets. We have noticed they are not reliable and are starting to seek a better provider.

RCA 10-17-2009 07:16 AM

I got answer on support tickets, but they only tell their systems are ok, and is probably origin server problem (but really it's not origin server problem, yesterday was working perfectly all day, and simplecdn was timing out at lot of requests for new content, for some unknown reason their cache agent was failing).

I have been looking for other cdn providers but bandwidth prices are high or don't have mirror option that is much better than upload for our purposes (avatars, etc).

imported_silkroad 10-17-2009 03:33 PM

I agree.

The "mirror bucket" feature of SimpleCDN is a "game changer" when combined with their significantly lower bandwidth costs.

Most of SimpleCDNs EU content is delivered from the US, and they don't seem to be able to fix or mitigate the problem (which they say is a DDOS attack because they permit adult content)

It is really strange that SimpleCDN cannot serve EU content from the EU!!!

RWerksman 10-17-2009 10:20 PM

I experienced the same performance related issues with SimpleCDN earlier this week. Looks to be sorted though, and I plan on continuing to use the service... until the next hiccup :)

imported_silkroad 11-01-2009 02:16 PM

SimpleCDN tends to hiccup a lot; however, you can't beat the price :-) ... and Mirror Bucket service is a great concept.

RCA 11-09-2009 11:19 AM

someone experiencing problems again?

imported_silkroad 11-09-2009 11:29 AM

Yes, SimpleCDN has been not performing well lately.

RCA 11-14-2009 01:31 PM

other day with problems, time to move out until they get a decent uptime with servers

imported_silkroad 11-14-2009 02:43 PM

Quote:

Originally Posted by RCA (Post 1914063)
other day with problems, time to move out until they get a decent uptime with servers

Yes, we have serious problems today with SimpleCDN.

What is the next best alternative? Is there another inexpensive CDN with mirror bucket service?

RCA 11-14-2009 04:28 PM

im moving back to dedicated lighttpd server for static content, not a "content delivery network" but cheaper than simplecdn and working without any problems.

imported_silkroad 11-14-2009 05:52 PM

We should consider to pool a few of us together and share the costs of something like this, pulling the images and clientscript :)

Well, that is just a dream.. too much work to get a cooperative going... hahahaha.

Good idea to use a dedicated lighttpd server for static content.

Monday I will call the SimpleCDN NOC and let them know they are losing customers due to per performance.

--------------- Added [DATE]1258228463[/DATE] at [TIME]1258228463[/TIME] ---------------

Oh! I forgot to mention.

I have been looking for a PHP script that intercepts a 404 error and fetches the missing file from another web server (creating a type of mirror bucket service for a static content server).

Have you seen or heard of a script like this?

RCA 11-15-2009 11:28 AM

1 Attachment(s)
move completed:

https://vborg.vbsupport.ru/attachmen...1&d=1258291480


is easy code a php script to capture files from one server and move to others (i do in original upload process), vb 3.x only needs avatars and profilepicture if remember correctly, all other files and images are full static.

imported_silkroad 11-15-2009 04:12 PM

Quote:

Originally Posted by RCA (Post 1914547)
is easy code a php script to capture files from one server and move to others (i do in original upload process), vb 3.x only needs avatars and profilepicture if remember correctly, all other files and images are full static.

That is not what I asked about.

I specifically said in my post "capture a 404 error on one web server and the retrieve the missing file from another web server...." (and then serve it on the first server, of course).

This is non-trivial.

Kaelon 11-22-2009 06:07 PM

This is the first time I have heard about SimpleCDN and its game-changing "mirror bucket" feature. I definitely am eager to try this out, as I have just switched our Big Board (1.5 million posts, 40,000 users, around 200-300 concurrent a peak) from a dedicated colo over to the Cloud, and would love to migrate all of our static content off of the server.

imported_silkroad 11-22-2009 06:15 PM

Quote:

Originally Posted by Kaelon (Post 1919068)
This is the first time I have heard about SimpleCDN and its game-changing "mirror bucket" feature. I definitely am eager to try this out, as I have just switched our Big Board (1.5 million posts, 40,000 users, around 200-300 concurrent a peak) from a dedicated colo over to the Cloud, and would love to migrate all of our static content off of the server.

Give it a try! We get around 4,000 to 4,200 peak users these days, and are reasonably happy with SimpleCDN, but they do "hiccup" from time to time. In the beginning, their team told me it was because of some DDOS attacks against their EU nodes. They told me all that would be resolved in Sept.

September has come to pass, SimpleCDN will not respond alas!

Wake me up, when November ends :-)

Kaelon 11-23-2009 01:09 PM

I am definitely going to try an upload bucket and see how things go in the short-term before delving in too deeply.

Do you have a back-up plan for when SimpleCDN is on the fritz? Or does your site suffer, and then basically you're stuck with what has come to pass?

imported_silkroad 11-23-2009 02:46 PM

Quote:

Originally Posted by Kaelon (Post 1919485)
Do you have a back-up plan for when SimpleCDN is on the fritz? Or does your site suffer, and then basically you're stuck with what has come to pass?

We CNAME alias our Simple CDN mirror buckets and use a short TTL in the DNS. So, if there seems to be a prolonged hiccup with Simple CDN we just repoint the CNAME to our origin server and bypass SimpleCDN until the problem is fixed.

If you host your own nameserver, you could easily automate this.

Kaelon 11-23-2009 07:09 PM

Quote:

Originally Posted by imported_silkroad (Post 1919531)
We CNAME alias our Simple CDN mirror buckets and use a short TTL in the DNS. So, if there seems to be a prolonged hiccup with Simple CDN we just repoint the CNAME to our origin server and bypass SimpleCDN until the problem is fixed.

If you host your own nameserver, you could easily automate this.

This is fascinating. I've already gotten a single Upload Bucket and created a CNAME alias to point to it, for the specific static stuff that I want to serve. I'm thinking of creating a Mirror Bucket for the dynamic-CDN, but I have a lot of directories that have dynamic content in them:

/gallery/files <-- all of my user uploaded galleries
/forums/customavatars <-- custom avatars
/forums/customprofilepics <-- custom profilepics
/forums/signaturepics <-- custom signaturepics
/forums/thumbs <-- generated thumbnails
/forums/albums <-- uploaded albums
/links/banners <-- uploaded banner images
/forums/images <-- all of my other static forum images

What do you think the best way to create a dynamic-CDN "Mirror Bucket" for these would be? Should I change my hierarchies? So far, SimpleCDN is working like a charm.

imported_silkroad 11-23-2009 07:18 PM

Quote:

Originally Posted by Kaelon (Post 1919696)
What do you think the best way to create a dynamic-CDN "Mirror Bucket" for these would be? Should I change my hierarchies? So far, SimpleCDN is working like a charm.

We have to be "speaking the same language" first. I don't know what you mean by "Dynamic CDN" when discussing in terms of Mirror Bucket. Every file can be updated based on the cache configuration of the CDN, and any file not found in the CDN cache will go to the original server to get it.

So, your directory for the CDN mirror will MIRROR your origin site.

We use two Mirror Buckets, one for images and the other for clientscript and CSS files, but that is not necessary and we paid for an extra CNAME alias. That way we could track the usage for the clientscript differently from the images.

It is simply a Mirror, so you can Mirror in as many virtual buckets as you like.

Also, if you need to update some javascript, you can delete the script from the CDN cache in the user admin control panel..... :D

Kaelon 11-23-2009 07:29 PM

Okay, I think I understand this. So, for example, I could have one mirror bucket that basically mirrors my entire domain, but it will only fetch the content that is requested of it. So, does this mean if it is asked to produce /forums/images/21.gif, it will create the forums and images directories for me, and handle everything on its own? If so, then, I suppoes I should be fine with just one mirror for my entire domain given that I have so much user-generated content spread throughout all of my services.

1. Is there any security with SimpleCDN to prevent hot-linking (and thus, raising your bandwidth bills)?

2. How often do Mirror Buckets refresh or update images? For example, if a user uploads a new signature that overwrites the old one, will it be updated?

3. How do you recommend using the no-cache header linking options for your buckets?

imported_silkroad 11-23-2009 10:22 PM

Quote:

Originally Posted by Kaelon (Post 1919712)
1. Is there any security with SimpleCDN to prevent hot-linking (and thus, raising your bandwidth bills)?

No, not at this time.

Quote:

2. How often do Mirror Buckets refresh or update images? For example, if a user uploads a new signature that overwrites the old one, will it be updated?
If a user uploads a signature, the signature resides in the database, so that is not a CDN issue. The CDN does not work for PHP files that access the database. If you are talking about images in the signature, I think you will find that new signatures, like avatars, get a new (version) number appended in the name of the gif.

Quote:

3. How do you recommend using the no-cache header linking options for your buckets?
We cache all our image and client content to the maximum number of days. This is configurable in the CDN admin panel. This overrides the no-cache header information in your files, as I recall; I suggest you open a ticket with SimpleCDN and ask them questions about how they deal with headers, cache, etc. That way you get the info directly from them.

RedWingFan 12-10-2009 07:27 PM

Since our $15 "play money" ran out, I disabled using SimpleCDN for now. I have been monitoring our server CPU loads using Cacti, and there has been NO change in loads since we started serving images from our own server again. BUT, I am positive we would still see a result due to decreased disk I/O and a few CPU cycles, so we may revisit this in the near future when we raise the funds to pay into it. Our $15 lasts at least six weeks, maybe more.

All the while, though, I must say that SimpleCDN worked flawlessly. And my replacement variables are easy to reinstall, so I can be serving images from them again with a minimum of work.

I just hope vB4 lets us change things this easily. ;)

imported_silkroad 12-11-2009 11:34 AM

Quote:

Originally Posted by RedWingFan (Post 1928519)
..... there has been NO change in loads since we started serving images from our own server again. BUT, I am positive we would still see a result due to decreased disk I/O and a few CPU cycles, so we may revisit this in the near future when we raise the funds to pay into it.

That all depends on your traffic. We have 4 to 5 M PVs a month.

If we turn off SimpleCDN, which we can easily do in our DNS if there is an issue with the CDN, we see huge load increases on our server and a very large difference in bandwidth status.

It's all relative, isn't it?

RedWingFan 12-11-2009 11:50 AM

Quote:

Originally Posted by imported_silkroad (Post 1928790)
That all depends on your traffic. We have 4 to 5 M PVs a month.

We certainly don't have THAT much! :D I do see the difference in our bandwidth usage stats though, so I know I had SimpleCDN working correctly. Just eyeballing the stats, we are serving out about 2.5GB to 3GB more per day than when we were using SimpleCDN. (We are still using only about 25% of the bandwidth quota we have on our account, so that's not an issue.)

I estimate our static files (other than attachments) are using about 1/3 of our bandwidth, overall.

Maybe I'm trying to talk myself back into using it... ;)

imported_silkroad 12-11-2009 12:18 PM

OBTW, I am working on a PHP script that checks the performance of the CDN, and if it not performing, it changes our $vbphrase[image_server] and $vbphrase{client_scriptserver] and the RRs to another server (or back to the original server).

I already have this script working for our OpenX servers, and when there is any issue on the net, it automatically switches over to another server (we replicate the database), or back again.

It is not that much work to even check one CDNs performance and if not up to some standard, switch to another CDN. Then, when the cheaper CDN is performing again, switch back over to that one.

:D

Kaelon 12-13-2009 05:29 PM

Generally speaking, I have only had a couple of pronounced moments when SimpleCDN stopped performing in the past three weeks. How has everyone else's SimpleCDN performance been throughout late November and early December?

Also, how are you guys changing your image variables? I noticed that imported_silkroad is using a $vbphrase[image_server] phrase (which sounds like a great idea, actually). I am using a CNAME alias and mapping all of my image calls to the cdn.domain.com to point to SimpleCDN's servers. Someone mentioned that simply remapping the CNAME back to our primary server might not be such a bad idea. How are you guys doing this?

Great thoughts all around - please keep them coming. I'd love to use this as a long-term solution to load-balancing on the basis of mitigating requests.

RedWingFan 12-13-2009 10:22 PM

Quote:

Originally Posted by Kaelon (Post 1930047)
Also, how are you guys changing your image variables?

Strictly through replacement variables. I didn't even know how that feature worked until one of vB's staff replied in a post (probably in this thread ;) ) that it could "rewrite" HTML before it got sent out to the browser. I had at first changed all the entries in the theme's file, but that was too time consuming and error-prone. This also allowed me to change the paths for other image sets that the themes didn't cover (like smilies, IIRC).

When I was done, all I hadn't done through SimpleCDN were attachments, since they were not called directly via image URLs. And I had zero time or patience to work around it. ;)

imported_silkroad 12-14-2009 08:00 AM

We use RRs and $vbphrases for images and client script.

We are also just about finished with a PHP script that monitors the CDN's performance and if it falls short of our expectations, automatically changes the DNS A records to a different server. Then, when the CDN is performing well again, it switches back.

I am considering adding a backup CDN so when SimpleCDN hiccups, which is does sometimes, our system will automatically switch over to the second one, which is more expensive. Then, when SimpleCDN is performing again, we switch back to save money.

Kaelon 12-19-2009 04:48 PM

@imported_silkroad -- What RR's are you using? (.htaccess rewrites, or via vBSEO?)

SimpleCDN recently announced a big shift in how it prioritizes outgoing traffic. So-called "free" accounts (trial accounts with the $15), are placed on their lowest tier networks and often blocked. Once you add money, you are placed into "premium account" status and enjoy all of the network routing, the CDN bounces and triangulation, etc. So, I added some cash to our trial account and noticed a huge improvement in both speed and reliability. It looks like SimpleCDN is definitely delivering for us. Now, I just need to figure out how to leverage it!

So far, I am using an Upload Bucket to handle our site's template imaging. I am thinking of a dynamic/mirror bucket for user-uploaded content (our galleries, etc.). Anything else you can suggest?

imported_silkroad 12-19-2009 05:11 PM

We are using standard vBulletin RRs in the style manager.

tpearl5 12-21-2009 11:53 AM

I'm curious what all you guys are seeing in Google webmaster tools site performance:
https://vborg.vbsupport.ru/showthread.php?p=1934514


All times are GMT. The time now is 11:05 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01557 seconds
  • Memory Usage 1,882KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (20)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete