Should I be running my application with few instances (i.e. machines) with large memory size or a lot of instances with small memory size? Which strategy is optimal? This question might be confronted often. After building applications for 2 decades, after building JVM performance engineering/troubleshooting tools (GCeasy, FastThread, HeapHero), I still don’t know the right answer to this question. At the same time, I believe there is no binary answer to this question as well. In this article, I would like to share my observations and experiences on this topic.
Continue reading “LARGE OR SMALL MEMORY SIZE FOR MY APP?”HOW MUCH MEMORY IS MY APPLICATION WASTING?
In early 1970s 1 MB was costing 1 million $. Now 1 mb is costing fraction of that cost. There is no comparison. This is one of the reasons why engineers and enterprises don’t worry about memory any more. 1 million $ in 1970s might be equivalent of several millions of dollars’ worth today. Thus, back in the day’s memory was treated so preciously. This preciousness has been vividly described in the book ‘Idea Man’ – autobiography of Paul Allen (Microsoft Co-founder). Paul Allen talks about the challenge he and Bill Gates faced in writing BASIC programming language (Microsoft’s very first product) under 4 KB.
Continue reading “HOW MUCH MEMORY IS MY APPLICATION WASTING?”WORD/POWERPOINT/EXCEL OR GC/THREAD/HEAP DUMPS
If you want to learn about the architecture of the application, performance characteristics of the application, effectiveness of the engineering organization – lot of times (if not all the times), we will look at the Word documents, PowerPoint decks, Excel spreadsheets that have been put together by the engineers/managers/executives of that application. In these artifacts truth can be exaggerated, truth can be untold, truth can be misstated. In some cases, it can even contain lie. What do we mean by it?
Continue reading “WORD/POWERPOINT/EXCEL OR GC/THREAD/HEAP DUMPS”