Performance Zone is brought to you in partnership with:
  • submit to reddit
Peter Lawrey04/25/13
6982 views
5 replies

Why a synchronized StringBuffer was never a good idea

StringBuffer is a synchronized class for mutable strings. The main problem with making it synchronized is that (1) It was usually used as a local variable so making it synchronized just made it slower. (2) It was never a good idea to use it in a multi-threaded way.

Mitch Pronschinske04/25/13
2746 views
0 replies

Links You Don't Want To Miss (4/25)

Ngnix gets a new major release while TechEmpower continues their epic web framework performance benchmarks. Plus, Google's mobile web performance checklist and a tool for rapid drag-and-drop prototyping with twitter bootstrap.

Nikita Salnikov...04/24/13
5715 views
0 replies

How to Create a Memory Leak

This is going to be a rather evil post – something you will be googling when you really wish to make someone’s life a misery. Days or even weeks of sleepless nights in the office are guaranteed for your victim.

Allen Coin04/24/13
3783 views
0 replies

Links You Don't Want to Miss (Apr. 24)

Today: a huge collection of JavaScript patterns, a developer reflects on burning out, BitTorrent's new Dropbox competitor, Eric Schmidt and Julian Assange have a chat, and what school lunches look like when your dad is a graphic designer.

Leigh Shevchik04/24/13
1302 views
0 replies

Thread Profiling: See Exactly What Your App Is Doing

The Thread Profiler works by spawning a background thread that takes snapshots of other threads’ backtraces at regular intervals. Over time, the profiles builds up a good representation of where your application is spending most of its time down to the method call level.

Peter Zaitsev04/24/13
875 views
0 replies

High-load problems? Investigate them with ‘pt-query-digest’

I had the chance to work on an interesting case last week, and I thought I’d share what I think is a little known goodie from Percona Toolkit for MySQL called pt-query-digest.

Manik Surtani04/24/13
2507 views
1 replies

Give Java Caching Standard API a go using Infinispan 5.3.0.Alpha1!

As part of the recent Infinispan 5.3.0.Alpha1, the first Infinispan JCache implementation was released which implements version 0.6 of the JCache specification as defined by JSR-107. It passes 100% the mandatory TCK including optional transactions TCK.

Peter Zaitsev04/23/13
764 views
0 replies

How to recover table structure from InnoDB dictionary

To recover a dropped or corrupt table with Percona Data Recovery Tool for InnoDB you need two things: media with records(ibdata1, *.ibd, disk image, etc.) and a table structure.

Erich Styger04/23/13
1189 views
0 replies

Using the Freedom Board as JTAG Programmer

I love the Freescale Freedom boards because they are low-cost, and I do not need a special debug device, as they have the on-board OpenSDA. It is using a small Kinetis-K20 which acts as JTAG debugging probe. Why not using the Freedom board to program another board?

Christopher Taylor04/23/13
575 views
0 replies

Using Benchmarking Vendors (Part 2 of 2)

In this installment, I outline my recommendations around what to do when you find a vendor (or short list of vendors) that you might want to engage to help you with your project.

Peter Zaitsev04/23/13
763 views
0 replies

MySQL alternative Percona Server 5.1.68 -14.6 now available

Percona is glad to announce the release of Percona Server 5.1.68 -14.6 on April 19, 2013 (downloads are available here and from the Percona Software Repositories).

Ryan Wang04/23/13
1942 views
0 replies

JVM Run-Time Data Areas

This is my note of reading JVM specification, with a diagram which helps me understand.

Peter Zaitsev04/22/13
1012 views
0 replies

Rotating MySQL slow logs safely

In my last post, I described a solution for keeping the caches of a MySQL standby server hot using MySQL slow logs with long_query_time set to 0. Here are a some lessons we learned when logging a high volume of queries to the slow log.

Gary Sieling04/22/13
2377 views
0 replies

Scala vs. Clojure

LinkedIn shows 42% growth (year over year?) people claiming Clojure as a skill – surprisingly beating out Scala’s 9%, a surprising feat for a lisp-variant. Turns out LinkedIn’s default view is misleading – Scala shows more new adopters (2.4k) vs 1.5k for Clojure.

Peter Zaitsev04/22/13
1069 views
0 replies

The write cache: Swap insanity tome III

Swapping has always been something bad for MySQL performance but it is even more important for HA systems. It is so important to avoid swapping with HA that NDB cluster basically forbids calling malloc after the startup phase and hence its rather complex configuration.

Christopher Taylor04/22/13
902 views
0 replies

Using benchmarking vendors (Part 1 of 2)

This installment of the benchmarking series focuses on using benchmarking vendors and will be in two parts. This part will focus on when you might want to use a benchmarking vendor, and the second part will focus on what to do once you find a vendor.

Erich Styger04/21/13
2647 views
0 replies

printf() with the FRDM-KL25Z Board and without Processor Expert

In this tutorial I explored how to use printf(), and this tutorial is so generic that it works for any processor/microcontroller. That flexibility is because I’m using Processor Expert.

Peter Zaitsev04/21/13
1115 views
0 replies

Disconnecting a replication slave is easier with MySQL 5.5+

MySQL provides the handy RESET SLAVE command. But as we’ll see, its behavior has changed along with the MySQL versions and it’s easy to shoot yourself in the foot if you use it incorrectly. So how do you safely disconnect a replication slave?

Peter Zaitsev04/20/13
1102 views
0 replies

Percona XtraDB Cluster 5.5.30-23.7.4 for MySQL now available

Percona is glad to announce the release of Percona XtraDB Cluster 5.5.30-23.7.4 for MySQL on April 17, 2013. Binaries are available from the downloads area or from our software repositories.

Ayende Rahien04/20/13
1042 views
0 replies

What is making us slow (for the first time, after an idle period)?

We recently covered this question in several iterations in the ravendb mailing list. The actual content of the discussion wasn’t so interesting as the number of ways idle time can make you life… interesting. In order to avoid having issues with idle time, you need to:

Jessica Thornsby04/19/13
1361 views
0 replies

WANdisco Announces SVN MultiSite Plus

We are proud to announce SVN MultiSite Plus, the newest product in our enterprise Subversion product line. WANdisco completely re-architected SVN MultiSite and the result is SVN MultiSite Plus, a replication software solution delivering dramatically improved performance, flexibility and scalability for large, global organizations.

Peter Zaitsev04/19/13
1240 views
0 replies

Testing the Micron P320h

The Micron P320h SSD is an SLC-based PCIe solid-state storage device which claims to provide the highest read throughput of any server-grade SSD, and at Micron’s request, I recently took some time to put the card through its paces, and the numbers are indeed quite impressive.

Mark Needham04/19/13
3634 views
0 replies

Puppet Debt

I’ve been playing around with a puppet configuration to run a neo4j server on an Ubuntu VM and one thing that has been quite tricky is getting the Sun/Oracle Java JDK to install repeatably.

Ryan Wang04/19/13
4727 views
0 replies

What Does a Java Array Look Like in Memory?

Arrays in Java store one of two things: either primitive values (int, char, …) or references (a.k.a pointers).

Erich Styger04/18/13
1800 views
0 replies

A new Freedom Board: FRDM-K20D50M with ARM Cortex M4

The new Freedom board adds a Cortex-M4 to the existing FRDM-KL25Z and FRDM-KL05Z. It comes with the headers, plus temperature and ambient light sensor. While the M4 provides more horse-power, I wish it would have more than 16 KByte of RAM.