Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Igor Ljubuncic
on 4 December 2020


The world of software is a vast and complex one, often too difficult to easily assess by human intuition alone. Which is why detailed and accurate measurements of software behavior are essential in helping us understand and gauge how well our applications perform.

The Snap Store has a fair share of productivity tools and utilities, including a wide range of benchmarking and profiling tools. These are designed to help developers, system administrators and hardcore enthusiasts get a precise sense of their software, whether as part of research and design or for troubleshooting ongoing problems in production environments. Let’s have a little tour.

Stress-ng

This utility can, as the name implies, stress various subsystems on a computer, including CPU, memory, disk, various caches, scheduling, and more. You can use it to profile a system, compare results to a known baseline, detect bottlenecks, or indirectly identify potential issues with services and applications running on a host. In particular, stress-ng can also be useful in benchmarking Linux kernels on different hardware architectures.

KDiskMark

Hardware performance is essential for a good user experience, especially with sustained I/O workloads. Often, if you want to analyze your hard disk speed, you will use a command-line tool of some sort. KDiskMark comes with a friendly UI, designed to make it accessible to ordinary users, too – although, you do need some understanding of what the different benchmark tests in the application do. Otherwise, your performance values will be just generally indicative of the capabilities of your storage. You can run one or more tests, and choose the data set size.

Packet Sender

Packet Sender is a sophisticated, powerful network analysis tool. It allows you to send and receive network packets for multiple protocols (TCP, UDP, SSL), and test various network configurations and setups. It can be used to inspect connectivity, firewalls, secure connections, automation frameworks, and more. It can also be used for stress testing. The usage is not trivial, and it takes some time and understanding to utilize the application fully, but it offers a great deal of flexibility for data analysis, research and optimization.

Cpustat

The world of Linux is home to a large number of utilization measurement tools, many of them with the word *stat in their name. One such utility is cpustat, which can be used to sample and report per-CPU and per-task utilization statistics. With low impact on system performance, cpustat can be used as a non-intrusive measurement tool, and help you detect potential bottlenecks in process execution or system loading.

Summary

This article covers but a small sample of system analysis tools available in the Snap Store. Nevertheless, you should find value and use in these programs, especially if you need to evaluate a brand new system or figure out a slowness issue on a system. Of course, there are quite a few other utilities out there, but exploration and discovery are part of the fun.

If you have any suggestions or recommendations for benchmarking and profiling software, please join our forum and let us know. We’re always looking for cool applications to write about, and also use when the need arises.

Photo by Nitin Mathew on Unsplash.

Related posts


sergiodj
18 November 2024

Profile-guided optimization: A case study

Ubuntu Article

Software developers spend a huge amount of effort working on optimization – extracting more speed and better performance from their algorithms and programs. This work usually involves a lot of time-consuming manual investigation, making automatic performance optimization a hot topic in the world of software development. Profile-guided opt ...


Aaron Prisk
3 April 2024

Creating Snaps on Ubuntu Touch

Community Article

This article was written in collaboration with Alfred E. Neumayer of the UBports Project. Tablets, phones and current technology’s capabilities are phenomenal. Who would have thought a thin, light, barely 10 inch device would provide all the power necessary to run Virtual Machines, wherever one desires while powered on battery? That a sma ...


Holly Hall
15 January 2024

Managing software in complex network environments: the Snap Store Proxy

Internet of Things Article

As enterprises grapple with the evolving landscape of security threats, the need to safeguard internal networks from the broader internet is increasingly important. In environments with restricted internet access, it can be difficult to manage software updates in an easy, reliable way. When managing devices in the field, change management ...