Time for next Cool Stack release

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 :

ComponentVersion 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.





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.

Posted by Donal on February 29, 2008 at 09:17 PM PST #

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 :)

Posted by Dan Kubb on March 01, 2008 at 09:41 AM PST #

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.

Posted by Donal on March 01, 2008 at 10:16 AM PST #

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

Posted by Wes W. on March 01, 2008 at 11:20 PM PST #

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.

Posted by Shanti Subramanyam on March 03, 2008 at 01:32 AM PST #

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;

Posted by Cubical 10 on March 03, 2008 at 04:14 AM PST #

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.

Posted by Shanti on March 03, 2008 at 05:18 AM PST #

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.

Posted by James Mernin on March 13, 2008 at 02:02 AM PDT #

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.

Posted by Shanti on March 14, 2008 at 07:18 AM PDT #

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.

Posted by James Mernin on March 14, 2008 at 07:54 AM PDT #

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.

Posted by Shanti on March 14, 2008 at 08:58 AM PDT #

Hi Shanti,

is the plan to also support Linux / Red Hat for Coolstack 1.3 ?


Posted by jean on April 20, 2008 at 11:59 PM PDT #

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?

Posted by James Mernin on April 24, 2008 at 06:32 AM PDT #

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.

Posted by Shanti on April 24, 2008 at 03:03 PM PDT #

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.

Posted by Bill Bose on April 25, 2008 at 04:22 AM PDT #

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

Posted by Shanti on April 26, 2008 at 10:27 AM PDT #

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.


Posted by Anil on April 27, 2008 at 06:16 AM PDT #

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?

Posted by Theron on May 07, 2008 at 12:43 AM PDT #

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.

Posted by Shanti on May 07, 2008 at 01:00 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

I'm a Senior Staff Engineer in the Performance & Applications Engineering Group (PAE). This blog focuses on tips to build, configure, tune and measure performance of popular open source web applications on Solaris.


« December 2016