BIG sites using this?

kaitlyn2004

Joined: 2009-09-10
Posts: 6
Posted: Thu, 2009-10-29 16:57

I am considering using this software for my site but it is going to be hit by a LOT of traffic.

Previously we used the ExpressionEngine Gallery module. Can anyone please link to come BIG sites using this or provide some more details about scalability and if it can handle a lot of load?

Thanks!

 
alecmyers

Joined: 2006-08-01
Posts: 4342
Posted: Thu, 2009-10-29 17:08

Define a LOT - define BIG - define "a lot of load" - and you might get some more helpful answers...

 
kaitlyn2004

Joined: 2009-09-10
Posts: 6
Posted: Thu, 2009-10-29 17:13

Roughly 9 million pageviews within 30 days, 2000+ users at a time

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Thu, 2009-10-29 17:22

How about frickin' ginormous? http://www.care2.com/

Granted they are using a heavily modified version of G2 for their purposes and have major hardware and fat pipes running their infrastructure, but they are HUGE.

As alecmyers said, we need more info about your usage. Otherwise search the forums, I don't have the posts handy, but this has been asked and answered more than a few times and I've written long posts about performance, scalability, with links, etc.

And it depends on what you want to do. If you just need basic image hosting, take a look at G3. I say basic image hosting because a lot of features have been developed for G2 that don't yet exist in G3. Like registration, integration with other systems, etc. G3's performance is also going to blow the doors off of G2 :) An unoptimized G3 install is already as fast as an optimized G2 install on the same hardware.

____________________________________________
Like Gallery? Like the support? Donate now!!! See G2 live here

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Thu, 2009-10-29 17:37

Didn't see your post when I started :)

It would depend on the hardware you're running. If you don't care about counting view counts, I would really turn that feature off. Then viewing becomes just reading from the database and there are no writes to the DB for viewing.

This is a very old post and the code most likely has changed, but it should be in the ballpark:
http://gallery.menalto.com/node/33037
____________________________________________
Like Gallery? Like the support? Donate now!!! See G2 live here

 
kaitlyn2004

Joined: 2009-09-10
Posts: 6
Posted: Thu, 2009-10-29 17:44

Also due to the nature of G3 being beta, I am not comfortable deploying that (for the first time) on a massive scale

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Thu, 2009-10-29 19:11

Not that I'm going to be much of a help here, but I'm more curious and may still be able to point you to some other useful info.

What sort of hardware and software/configuration are you running your site on? Apache? MySQL? Are you using any PHP accelerator/caching?
____________________________________________
Like Gallery? Like the support? Donate now!!! See G2 live here

 
nivekiam
nivekiam's picture

Joined: 2002-12-10
Posts: 16504
Posted: Thu, 2009-10-29 19:16

Oh and Alec (and others) may be able to give advice to, he's much more brilliant on the software side of stuff than I am (I'm just a support guy, who's very technically inclined and I've read A LOT of posts here as well as much of the documentation)

Here are a couple of threads:
http://gallery.menalto.com/node/82413
http://gallery.menalto.com/node/88074

And probably some more buried in here:
http://bit.ly/2hoa5a (google search against these forums)
____________________________________________
Like Gallery? Like the support? Donate now!!! See G2 live here

 
alecmyers

Joined: 2006-08-01
Posts: 4342
Posted: Thu, 2009-10-29 19:56

Well, I have no experience in scaling G2, or in fact any other web software, but that doesn't stop me having an opinion (I did some in-the-shower-thinking), so for what it's worth here it is.

G2's architecture is a disadvantage, because for serving pure images (which is the central task of a gallery-type package) it spools the image files via php, rather than pointing Apache at the data file (which would be x10 faster, which is one of the reasons G3 does it that way instead.)

I do, however, think that no database-engined php-written website will out-of-the-box scale to what you want, without some serious system engineering.

I would:

a) make sure that the majority of my page reads are cacheable, to keep most of the load off the G2 installation. I'm thinking SQUID, that kind of thing. Definitely that means turning off page view counts.
b) use a php accelerator
c) it should be possible to run multiple webservers with Gallery2 installed all connected to a single db instance. Someone else asked about that in this forum, and I couldn't see that there should be an issue. So maybe you can split your php load across several boxes with round-robin load balancing or whatever. (The fact that G2 session info is stored in the db works to your advantage because it will be readable across different boxes.) They do however need to have access to the same file system (share the same g2data directory) so I guess that means storage arrays etc.
d) Try to run G2 so that most users don't need to open a session. Hopefully your 2000+ users are mostly operating under the "guest" id, not logging in individually. I guess that ties in with a) above.
e) use a scalable database. I don't know where mySql stands on this, but G2 works with things like Oracle too. Oracle scales very very big....
f) (obviously) make sure that in-built caching like for Smarty templates is enabled

In summary, no, using G2 doesn't mean that you are exempt from setting out on the same road as any company that wants to scale a single-box application very large (think Google, think Yahoo, think Twitter etc) - and who knows - you may find a single fast box works for you (although my impression from my site is probably not) - but G2 is still amenable to the same techniques that work for others.

Do a rough calculation, btw, with your average image size, and work out the constant line bandwidth for outgoing pages that you expect your server installation to provide. That would be an interesting fact to know (not forgetting that peak load might be 10 or 15 times the average.)

Other random questions for you (connected of course, and you don't need to answer them to me but they might help your thinking) how many of your 2000 concurrent users are going to be uploading (much much much slower than just viewing) and what size are the images in your installation?