devxlogo

upload

Disappointing story on memory optimization

Not all stories need to be success stories. Reality is also not like that. We would like to share a true, disappointing story (but a phenomenal learning experience) that may be beneficial to you. This is a story about optimizing memory utilization of a web application. This application was configured with a lot of memory (4GB) just to service handful of transactions/sec. Thus, we set out to study the memory utilization patterns of this application. We captured heap dumps of this application using ???jmap??? tool. We uploaded the captured heap dump to HeapHero tool. HeapHero is a heap dump analysis tool just like Eclipse MAT, JProfiler, Yourkit. HeapHero tool profiled the memory and provided statistics on total classes, total objects, heap size, histogram view of large objects residing in the memory. On top of these traditional metrics, HeapHero reported the total amount of memory wasted due to inefficient programming practices. In modern computing, considerable amount memory is wasted because of inefficient programming practices such as: Duplicate object creation, suboptimal data type definitions (declaring ???double??? and assigning only ???float??? values), over allocation and underutilization of data structures and several other practices. 

Yaasa – It’s Time To Adjust

Hello, My name is Monique Plummer, Customer Experience Agent for Yaasa. Yaasa is a world class adjustable furniture and accessories company that intuitively adapts to improve our customers comfort and wellbeing. We create products that enhance people’s individual living experiences, simply & affordably, and all our products are delivered right to your door. After the success of our mattress-in-a-box business, we knew we had to go further into the world of comfort and wellness in order to stand out in the marketplace. So, we recently introduced the Yaasa Adjustable Bed to our portfolio to complement our mattress and accessories, and provide a more enhanced rest experience. The bed has already been featured on Touch of Modern and has been getting amazing reviews from both our affiliates and customers. I wanted to see if the Yaasa Adjustable Bed was something that you would be interested in featuring on your site?  Below is a link to the full press kit with all the information and assets you will need, of course should you need any more details I, or any of the Yaasa team will be happy to help. I can also offer a demonstration in person with one of our team if you think this would help and inform your article so you can see the power of adjustability in action! https://www.dropbox.com/sh/ocxl64q50zyrihd/AAC1U5HrqFRgNUe692j2_Jk3a?dl=0   We have a lot of exciting adjustable innovations in the pipeline for 2018/19, and I look forward to sharing more news regarding those launch dates and events as they happen. In the meantime, thank you for your time and I look forward to hearing back from you. Best wishes, Monique Plummer Customer Experience Agent  YaasaIt???s Time To Adjust

Support for Lazarus 1.8.4 and a Bunch of New Helpful Features in Updated DAC Products

Devart has announced a significant update of its Delphi Data Access Components with support for Lazarus 1.8.4 and numerous handy features that enhance data access and confidentiality. Devart, a Czech software vendor of database tools and data connectivity solutions, rolled out new versions of Delphi Data Access Components, the fast and reliable data connectivity solutions for any database. The new release includes the support for Lazarus 1.8.4, brand-new features of cloud and database providers in UniDAC and many others to assist programmers in developing fast and native applications. Here???s a closer look at the most noteworthy improvements implemented in the release: MySQL Data Access Components (MyDAC) now support MySQL 8.0, as well as sha2_password, caching_sha2_password authentications. The new version of SQL Server Data Access Components (SDAC) include MARS, NonBlocking mode and Query notifications in TDS. InterBase and Firebird Data Access Components (IBDAC) now provide System Encryption Password (SEP). Moreover, updated IBDAC offers the ability to grant/revoke admin role for a Firebird user using IBCSecurityService component.Oracle Data Access Components (ODAC) now allow significantly enhanced data fetching in the Direct mode. The new version of PostgreSQL Data Access Components (PgDAC) supports HTTP/HTTPS tunnel.SQLite Data Access Components (LiteDAC) now support WAL in the Direct Mode for non-Windows platforms.Upgraded Universal Data Access Components (UniDAC) include updated cloud providers that support App center client authentication for Salesforce MC, FreshBooks new version,  Magento 2.x, NetSuite Sandbox and ZohoCRM Domain.What???s more, performance of batch operations is greatly enhanced in all Delphi Data Access Components.  Got interested? For more goodies about a bunch of brand-new features in upgraded Delphi Data Access Components, visit https://www.devart.com/dac.html . About Devart Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects. For additional information about Devart, visit https://www.devart.com/ .

Micrometirics for CI/CD pipeline

Continuous Integration/Continuous Deployment (CI/CD) has become central to software development. To ensure high-quality software releases smoke tests, regression tests, performance tests, static code analysis & security scans are run in CI/CD pipeline. Despite of all these quality measures, still applications are facing OutOfMemoryError, CPU spikes, unresponsiveness, degradation in response time in production environment.  These sort of performance problems surfaces in production because in CI/CD pipeline only macro level metrics such as: Static code quality metrics, test/code coverage, CPU Utilization, memory consumption, response time??? are studied. In this article let???s review the micrometrics that should be studied in CI/CD pipeline to delivery high quality releases in production. We will also learn how to source this micrometrics and integrate it in to CI/CD pipeline. How Tsunamis are forecasted?  You might wonder why Tsunami forecasting is related to this article. There is a relationship :-). A normal sea wave travels at a speed of 5 ??? 60 miles/hr, whereas Tsunami waves travel at a speed of 500 ??? 600 miles/hr. Even though Tsunami wave travels at a speed of 10x ??? 100x speed of normal waves, it???s very hard to forecast Tsunami waves. Thus, modern day technologies use micrometrics to forecast to Tsunami waves. Multiple DART (Deep-ocean Assessment and Reporting of Tsunami) devices are installed all throughout the world.  DART contains two parts:  a. Surface Buoy: Device which floats at the top of ocean water b. Seabed Monitor: Device which is stationed at the bottom of the ocean  Deep ocean water is about 6000 meters in depth. (20x of tallest San Francisco Sales Force tower). Whenever the sea level raises more than 1 mm then DART automatically detects it and transmits this information to satellite. This 1 mm raise in sea water is a lead indicator of Tsunami origination. I would like to request you to pause here for a second and visualize length of 1 mm in the scale of 6000 meters sea depth. It???s nothing, negligible. But this micrometric analysis is what used for forecasting Tsunamis.  How to forecast Performance Tsunamis through Micrometrics?  Similarly, there are few micrometrics that you can monitor in your CI/CD pipeline. This micrometrics are lead indicators of several performance problems that you will face in production. Raise or drop in values of these micrometrics are the great indicators for the origination of performance problems.  1. Garbage Collection Throughput 2. Average GC pause time 3. Maximum GC pause time 4. Object creation rate 5. Peak heap size 6. Thread Count 7. Thread States 8. Thread Groups 9. Wasted Memory 10. Object Count 11. Class Count  Let???s study each micrometrics in detail:  1. GARBAGE COLLECTION THROUGHPUT Garbage Collection throughout is the amount of time your application spends in processing customer transactions vs amount of time your application spends in doing garbage collection.  Let???s say your application has been running for 60 minutes. In this 60 minutes, 2 minutes is spent on GC activities. It means application has spent 3.33% on GC activities (i.e. 2 / 60 * 100) It means Garbage Collection throughput is 96.67% (i.e. 100 ??? 3.33).  When there is a degradation in the GC throughput, it???s an indication of some sort of memory problem. Now the question is: What is the acceptable throughput %? It depends on the application and business demands. Typically, one should target for more than 95% throughput.  2. AVERAGE GARBAGE COLLECTION PAUSE TIME  When Garbage Collection event runs, entire application pauses. Because Garbage Collection has to mark every object in the application, see whether those objects are referenced, if no one is referencing then will be evicted from memory. Then fragmented memory is compacted. To do all these operations, application will be paused. Thus when Garbage collection runs, customer will experience pauses/delays. Thus one should always target to attain low average GC pause time. 

Is anyone faster than Devart? Support for MySQL v8.0 is already in dbForge Studio

Devart introduced a significant update of dbForge Studio for MySQL with support for MySQL 8.0, MariaDB 10.3, Tencent Cloud. The release also in??ludes a brand new feature – navigation between keywords. Devart, a Czech software vendor of database tools and data connectivity solutions, has released a significantly improved version of the universal MySQL and MariaDB GUI tool, dbForge Studio for MySQL v8.0. Following the recent update of MySQL Server by Oracle, dbForge Studio now supports for the latest version of MySQL.  Here???s the scoop on the most outstanding improvements implemented in the updated dbForge Studio for MySQL: With the support for MySQL 8.0, dbForge Studio now offers users the ability to develop, manage and administer MySQL databases on the latest server version using all handy features. dbForge Studio for MySQL continues to broaden the compatibility options and now provides connecting and working with the latest MariaDB v10.3. Good news for Tencent Cloud users???the new dbForge Studio for MySQL v8.0 allows connecting to this cloud service designed for deploying and using MySQL databases in the cloud effortlessly. To make work with code more convenient, dbForge Studio for MySQL v8.0 now offers seamless navigation between keywords in SQL Editor using the shortcut menu or ???Ctrl+F12??? key combination. Dive deep into other useful features of dbForge Studio for MySQL v8.0 at https://www.devart.com/dbforge/mysql/studio/ . About Devart Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects. For additional information about Devart, visit https://www.devart.com/ .