So I have been playing around with Tyrus, the reference implementation of the JSR 356 WebSocket for Java spec. Because I was looking at test tooling I was interested in running both the client and the server side in Java.
Bootloaders are a very useful thing: it allows programming an application file without a debugger. This makes it ideal for upgrading a system in the field.
Continuing on in our Build Your Private Cloud in a Month series, today Yung Chou and I walk through the steps needed to dynamically optimize our Private Cloud Fabric.
We’ve told you all about MySQL mult-master replication’s limitations. If you write to two masters it is bound to fail for myriad reasons. Now what? Do what the pros do, that’s what!
In this demo, we are using LOG4J library to log in the console.Logger Info will print the numbers in the console. A timer is used to randomly select some milliseconds to delay
While refactoring a particular process in a ColdFusion project at work, I learned two things I thought worth passing on:
The total order based protocol is a lock free multi-master scheme (i.e. all the Infinispan nodes are able to execute read and write transactions) commit protocol.
In this next video in my series of using Eclipse effectively, I show how how to use Eclipse’s quick-fix refactoring (and a little common sense) to restructure some hairy code into something rather more palatable.
A few months ago I wrote about my initial experiences with A/B testing and since then we’ve been working on another one and learnt some things around reporting on these types of tests that I thought was interesting.
One of the challenges I face is: if the connect pool assigns a socket to a thread and the thread dies, how do we reclaim the socket for the general pool?
A few years ago multi-threading support in Ruby was flaky or non-existent. The Ruby agent came of age in that world, where the only real option for concurrency was running multiple processes. Recent versions of JRuby and MRI have changed that landscape.
Here I’m going to suggest NOT to use synchronization (or at least not using locks) if possible. Why? because it can open a can of dangerous worms if you use it without utmost care.
What is the performance cost of a new feature? This session will introduce these topics and give examples for services most people are familiar with.
If you’re a Rails developer, you know that developing a great web app is a straightforward process. While that offers many advantages, some apps grow too large and become hard to manage.
I recently had a problem with a ZF2 based website where users were reporting seeing the error page displayed, but I couldn't reproduce in testing. To find this problem I decided to log every exception to a file so I could then go back and work out what was happening.
The components are designed to integrate seamlessly with widely deployed solutions such as Nagios and Cacti, and are delivered in the form of templates, plugins, and scripts.
As I mentioned a couple of weeks ago I’ve been working on a tutorial about thinking through problems in graphs and since it’s a Sinatra application I thought thin would be a decent choice for web server.
Speed is an essential for a great web experience but it often gets overlooked. We'll examine how speed affects the users' experience and cover some ways we can measure and analyse it.
Since our first post on transaction descriptors optimization introduced in Percona Server 5.5.30-30.2 and a followup by Dimitri Kravchuk we have received a large number of questions on why the benchmark results in both posts look rather different.
Until this point, most auto-scaling has been performed based on very simple server metrics such as CPU consumption, memory usage and network utilization. This approach has several pitfalls. The integration between New Relic and Tapp allows you to auto-scale your cloud resources based on Apdex.
The following will move a series of files into subfolders. It hashes the file names, building a two character, two folder deep hierarchy to split the files, e.g. a1/b2. The motivation for this is to split 500,000 folders into a manageable hierarchy, to avoid file system limits – in NTFS this is quite slow, and well over the 64,000 limit in ext4.
Tim and I were investigating a weird problem we were having with nginx where it was getting in a state where it had exceeded the number of open files allowed on the system and started rejecting requests.