There’s a superb post over at the Moserware blog entitled ‘The First Few Milliseconds of an HTTPS Connection‘. I’d definitely recommend it to anyone even vaguely interested in what keeps everyones confidential data secure.
12
Want to cut your IT budget without cutting services? Switch to Linux
0 Comments | Posted by sam in Links, Linux
For obvious reasons everyone is looking to make cost savings at the moment, and for inspiration you can look to the French Gendarmerie, who have saved millions of Euros as part of a transition to Linux.
“A report published by the European Commission’s Open Source Observatory provides some details from a recent presentation given by Gendarmerie Lieutenant-Colonel Xavier Guimard, who says that the Gendarmerie has been able to reduced its annual IT budget by 70 percent without having to reduce its capabilities.”
Read the full story over at Ars Technica.
After spending far too much time investigating a particularly thorny problem with a Java app, here’s a brief guide for anyone else stuck in the same predicament.
First, find some general information on the environment:
Show the JVM system properties
jinfo [pid]
Show heap space usage
jmap -heap [pid]
Show object memory usage
jmap -histo [pid]
Next, find out some more specifics about what the app is actually doing:
Take a thread dump
pkill -3 java; sleep 5; pkill -3 java
We do the kill -3 twice to show if threads are stuck in a particular state – add more as required. The thread dump is written to stdout for the java process. This will be catalina.out for a Tomcat app, elsewhere for others, check the init script for clues.
Take a stack trace
jstack [pid]
For apps using JNI you can take a mixed-mode trace by doing
jstack -m [pid]
and piping the output through c++filt. On Solaris, c++filt can be obtained as part of Sun Studio Express
Hopefully by this point you should have enough data to at least give you some clues as to where the problems are occuring.
I’ve been preaching the standard ‘development’, ’staging’ ‘production’ method of testing and deploying software for pretty much as long as I can remember. This made me all the more interested to read this post telling how IMVU, an ‘avatar based chat site’ go programatically straight from commit to deploy.
The high level of our process is dead simple: Continuously integrate (commit early and often). On commit automatically run all tests. If the tests pass deploy to the cluster. If the deploy succeeds, repeat.
Whether this approach would work for you really rather depends on the type of environment you work in. What would concern me most is how one could possibly deal with intermittent problems which one was unable to consistently reproduce. The continuous deployment solution, I suppose, would be to write a number of tests which reproduce the circumstances around the failure.
It’s certainly an interesting idea though, and one that is clearly working for IMVU.
One often overlooked issue with regards to calculating the total cost of ownership for an OS: power consumption.
These figures from http://mjg59.livejournal.com/103511.html:
- Idle power draw of Fedora 10: 100W
- Idle power draw of Opensolaris 2008-11: 135W

