Search

Howdy,

Out of curiosity, has any Symphony website ever been fireballed?

Still waiting. John has not noticed the target yet.

:-)

Michael-e, you recently said symphony had become pretty fast…

But if it would, would it be enough to

  • have cachelight (though some page ea dynamic ajax article searching can’t be cached…)
  • host all your assets (images, css, js) at an external server that can handle it, like google app engine, or a real CDN, and keep the actual grindwork to your lamp stack.
  • or something else

What can we do to be prepared? a shared hosting doesnt stand a chance? (probably mysql load? or parsing xslt?) Does a VPS?..

Here’s what I would do in order to be prepared:

  1. Learn how to use ApacheBench to benchmark your site
  2. Calculate and estimate

That’s it. As long as my site and infrastructure can stand 10 or 100 times the average load, I’d be glad to be fireballed! Wouldn’t this mean being famous (suddenly)?

Your assets don’t mean too much load for the server. But serving them through a CDN (like Amazon’s Cloud Front) may have benefits in terms of load times or bandwith limits.

I never used any caching extensions, so I can’t say anything about it. I never felt the need for it.

Here’s a number: Using Symphony 2.0.8 RC3 or later and a good virtual server (like this one) I am able to deliver approximately 10 million pages a month (which depends on the complexity of your website, of course). This is without CacheLite!

So the traffic needed to be “fireballed” would make my client proud and famous anyway.

Waiting as well ;)

But seriously, I’d like to start looking into performance options before something hits, at least to get a sense of what’s possible.
This Apache prefork thing, will look into it. I am not too savvy in terms of server tech.
I just installed Nginx on a small Rackspace machine. Still figuring it out… But a few big questions stand:
- I’ve noticed that Cachelite kicks in kind of late in the process ending up with Symphony using it’s good 4-5mb on one request. Coupling this with apache spawning lots of processes, I guess I’d hit a 256mb server limits pretty soon.
- has anyone ever used Nginx with Symphony? If so, has it been used as a reverse proxy or as the main dude? How is dynamic content handled as opposed to static (if any…)?

has anyone ever used Nginx with Symphony?

This thread contains some useful info about symphony + nginx.

@tmslnz:

  1. Normally you shouldn’t need to change Apache’s prefork configuration, but in my case the values were indeed low. The new values mentioned in my review of the Hosteurope vServer are the recommended values for Apache.
  2. Your CacheLite memory requirement observation sounds rather interesting. Please keep us informed if you find out more.

So, at the end of the day I got to configure and test a Linode 512mb box.

Here’s the results from the http_load tool:

1047 fetches, 152 max parallel, 2.73289e+07 bytes, in 60 seconds
26102.1 mean bytes/connection
17.45 fetches/sec, 455481 bytes/sec
msecs/connect: 22.5826 mean, 962.781 max, 11.406 min
msecs/first-response: 3775.91 mean, 8752.36 max, 134.696 min
230 bad byte counts
HTTP response codes:
  code 200 -- 1047

That’s as far as I can get without getting 502s from Nginx.

The setup is Ubuntu Maverick, Nginx, PHP-FPM 5.3.3, APC and Nick Dunn’s awesome Nginx config.
I did no optimisations whatsoever, just got the whole shebang to work.

The Symphony site in question is using the Cachelite extension. A few snippets from the Profiler:

images  0.0355 s from 16 queries
photos  0.0550 s from 90 queries
settings    0.0128 s from 30 queries

Total Database Queries  150
Slow Queries (> 0.09s)  0
Total Time Spent on Queries 0.0288 s
Time Triggering All Events  0.0004 s
Time Running All Data Sources   0.1198 s
XML Generation Function 0.0091 s
XSLT Generation 0.0288 s
Output Creation Time    0.1955 s
Total Memory Usage  3.46 MB

For laziness I am also doing full proxy forwards to Apache from Nginx on a number of small things I couldn’t be bothered to port to Nginx, but that’s another discussion.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details