Performance Blog

Time for next Cool Stack release

Posted on: February 29, 2008

It’s been close to 4 months since we released Cool Stack 1.2, so it’s time to start thinking about the next release. Here’s what we have planned so far and as always I’m looking for feedback from current and future users on what you’d like to see. Needless to say, that all currently known bugs will be fixed and the current patches will be rolled into the release. However, if you don’t tell us about the problems you’ve run into, we won’t be able to fix them. So, once again I’d like to encourage people to please post your problem/issue/tips etc. on the forum.

Here’s a list of stuff we’re currently looking at for Cool Stack 1.3 :

Component Version in Cool Stack 1.3 Version in Coolstack 1.2
Apache 2.2.8 2.2.6
Tomcat 5.5.26 5.5.23
php 5.2.5 5.2.4
mysql 5.1 5.0.45
squid 3.0 2.6
apc 3.0.16 3.0.14
mod_perl 2.0.3 2.0.2
rails 2.0.2 1.2.3
Add php extensions: memcache , pdflib, and freetype , mcrypt
libevent 1.3e 1.3d
memcached 1.2.5 1.2.2
mod_jk 1.2.26 1.2.25
lighttpd 1.4.18 1.4.16
nginx 0.5.35
dtrace ruby extension
multithreaded perl
Improve lighttpd with more builtin extensions
mysql performance improvement with libfasttime/libmtmalloc
Add ruby gems :postgres, mysql.
Improve ruby build process (to make easier compilation of external gems)

I would like feedback on a couple of areas in particular:

  • MySQL 5.1 has many performance improvements and we’d very much like to package this version even though it’s not FCS yet (it’s been out for a looong time now and should be quite stable). Should we go ahead and use 5.1 instead of 5.0.x ?
  • We’ve heard some complaints about perl not being multi-threaded, but there is a small performance penalty associated with building it multi-threaded (especially if you’re not going to be using it’s multi-threaded features).  Any thoughts ?

Of course, please feel free to comment on anything else you’d like seen added/changed as well.

Shanti

Advertisements

19 Responses to "Time for next Cool Stack release"

Hey Shanti – thanks for all your work on Coolstack. I’ve come to rely on it a lot.
* I’m glad to see PHP’s Memcached extension being packaged.
* Great to see that Ruby is becoming more integrated – getting Merb running was a bit of an adventure.
* Nginx is a good add.
* Perl and MySQL aren’t important to me – I don’t use them.
* What’s the outlook for mod_python / Python 2.5 ?
* Postgres support everywhere!
I really appreciated the SMF manifests that were added to 1.2 – great stuff.

Shanti, you should take a look at Varnish to replace Squid. Also, you may want to check out Ncache, which is a caching proxy plugin to Nginx… Its probably not as fast as Varnish (to my knowledge the fastest caching server right now), but its worth looking into.
I saw your post in #merb on irc.freenode.net, and I would like to see merb get some attention too 🙂

Hey Dan – the post in #merb was mine – not Shanti’s. Sorry if that was unclear.
Varnish is great – if it were added to Coolstack I certainly wouldn’t complain, but anyone who’s already gone through the hassle of configuring Squid isn’t going to want to see it turfed out already.
Must look into Ncache – looks interesting.

Thanks for the work on Cool Stack! Like Donai, I don’t use MySQL anywhere but would like to see PostgreSQL integrated.

Thanks for the comments.
varnish – yes, it’s on our radar screen, but haven’t received any clear requests for it yet. And I agree with Donal – it’s difficult to move squid users off squid. Believe me – we’ve been trying. The Sun proxy server is a much more scalable and high-performing solution, but it’s hard to re-configure a new proxy server and many users don’t seem to care about performance.
python – since this is part of Solaris already (2.4.4 in S10 7/07) and will continue to be updated, we didn’t think it necessary to include it in Cool Stack. We’ll consider mod_python, but frankly, I’m not sure how many users out there will require it (I have nothing against python, just not sure how popular it is).
postgres – already part of Solaris. Check it out.
Ncache – first I’m hearing of it. Will take a look at it.

I have been using CoolStack in a production environment since 1.1.
I have been very happy with this stack!
Concerning MySql 5.1…
Since you already package MySql separately, it would be fantastic if you could package both 5.0.51 and 5.1.23. You can build the php extensions with 5.0.51, but then, as the end user, I can choose which db meets my needs.
Finally, could you please toss out a (tentative) release date for 1.3?
I would prefer you post a date and miss it, then not post anything and it just shows up one day.
Great work!
Thank you;

I like your suggestion for MySQL. How about if we stick with 5.0.x for the 32bit version (and use these client libraries for PHP) and build 5.1 as a 64-bit version. Those who want the 5.0 64-bit version, can still get that from Cool Stack 1.2.
Otherwise, there will be too many versions of MySQL, confusing us all (I’m afraid even the above sounds confusing !)
Tentative date is end of April, early May. There – I’ve said it! I’ll try and keep you posted on the progress we’re making.

I too have been using Coolstack since 1.1 and am very happy with it. I was particularly happy to see Tomcat and Memacached added in 1.2.
Here are my comments on your proposals for Coolstack 1.3
1) We use Nginx 0.5.33 so your proposed version of 0.5.35 will be fine for us. The inclusion of an SMF manifest for Nginx would be great too (but I’m assuming you’ve already thought of that).
2) I do use MySQL but have no immediate desire/need to move to 5.1
3) An SMF script for Memcached would be nice. I’ve already written one myself for CSK1.2 but a formal/proper/better one from you guys would be great.
4) We use Ruby/Rails/Mongrel quite a bit and have a long list of other Gems we install along with the above. However, a constant thorn in my side is having to install Sun Studio 12 in order to get a basic C compiler onto the system that allows me to install some Gem packages that need to be natively compiled (i.e. hpricot, fastthreads, mongrel_rails). The installation of Studio itself is fine (as I only install the C compiler tools) – it’s the time it takes to transfer, bunzip and untar the enormous 1.2GB distrubtion that kills me (every time)
So, what would be really terrific here would be the inclusion of a very basic C compiler with the Coolstack bundle (a cut-down version of Sun Studio that contains only a C compiler). I realise that this does not strictly fall within the Coolstack scope (and I have posted about this on some other other forums (http://forum.java.sun.com/thread.jspa?threadID=5267539&messageID=10116461#10116461)
but it could make for a very powerful addition to Coolstack all the same.

Thanks for your feedback. Adding the SMF for memcached shouldn’t be difficult.
On the rubygems issue, yes – we’ve heard about this from several folks now. Unfortunately, the problem can’t be resolved by simply packaging Studio or ensuring it is available. Many gems include makefiles that assume gcc and give options specific to gcc that Sun Studio barfs at. The only solution to this problem seems to be to enable the use of gcc when installing gems. We are exploring this right now and we’ll ensure that it works for Cool Stack 1.3.

That’s interesting (but not surprising) about the Gems assuming the use of GCC. However, I was of the understanding that, given that the Ruby version that is distributed with Coolstack was built with Sun Studio (this correct, right?) then so too must be any Gems that want to interact with Ruby.
This is the only reason I have stuck with Sun Studio and not opted for the simpler install of a freeware GCC. I assumed I would hit binary/library incompatibility issues.

By default, that’s true – you must use the same compiler that was used to build ruby. However, we can hack around this by editing rbconfig.rb which is what we’re planning to do.

Hi Shanti,
is the plan to also support Linux / Red Hat for Coolstack 1.3 ?
thks
Jean

Just checking to see if there is any update on the next version of Coolstack?
Is the table at the top of this post still accurate?
Are you still shooting for a date in early May?

I knew someone would ask sooner or later – that’s the reason I didn’t want to give a time frame to start with 🙂 We’re still targeting May, but it will probably be closer to the end of the month. We will be finishing our first build next week, then some QA, then a 2nd build.

Shanti,
Please add Python 2.5.2 and mod_python in cool stack. I am unable to use any of those Python nice MVC frameworks because of that reason.

Done. Python 2.5.2 and mod_python will be in Cool Stack 1.3.

I wish in 1.3 that the "data/configuration" is separated from binaries. Having an easier way to upgrade multiple deployments is very much helpful.
Right now, I have no idea how I am going to upgrade 30 or so difference zones running coolstack from 1.2 -> 1.3.
I installed Coolstack in global zone and then for each individual zone, I do a "rsync" of /opt/coolstack to zone. With 1.3, I could remove pkg’s and re-add them, and then do a rsync of it (w/o delete). Of course I will have to exclude the *.conf files from rsync. That should work but I’ll feel more comfortable if I could only rsync just the binaries.
Thanks

Hi Shanti,
Thanks for including mod_python – we plan to use this with Trac.
When will CSK 1.3 be released? Is there a svn repository that we can grab the source from?

Yes – there is an svn repository. See the section ‘Latest Cool Stack Sources’ at http://opensolaris.org/os/project/webstack/coolstack/
The current sources are in the CoolStackDev branch (i.e not in trunk).
python 2.5.2 is already in there, but I don’t believe mod_python is in yet. I’ll send out an update as soon as we get this in. If it’s really urgent, there are instructions in the Cool Stack FAQ about how to build an apache module. Our build engineer is at JavaOne this week, so it will be early next week that mod_python will make it into the repository.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Shanti's Photo

Pages

Latest Tweets

Categories

Archives

%d bloggers like this: