New 42-day free trial
Smarty

Performance testing with Phoronix

Jonathan Duncan
Jonathan Duncan
 | 
October 5, 2015
Tags
Smarty header pin graphic

Not every server is made equally. On dedicated servers, the hardware varies widely. On virtual and cloud servers, the resource allocations also vary widely. Some servers are CPU-optimized for maximum computing power. Others focus on having a lot of memory. Some servers are built to have a good balance of all system resources.

Hardware aside, we require many differing tasks of our servers. Some applications are processor hungry, some need large amounts of disk space, while others take up a lot of memory.

In other words, one server size does not fit all.

In order to determine which servers are most effective, we run performance tests. For applications that are CPU intense, we run tests that focus on measuring the processing capabilites of multiple classes of servers, and then we compare the results. In this way we are able to find the sweet spots that allow us to get the most bang for our bucks out of the servers we employ.

Phoronix is just one of the many testing tools out there.

Install

First, you need to acquire the installation package. One option is to go to the Phoronix download page, and pick a version. Then, you can download it to the machine that will be running the tests.

$ cd /path/you/want/phoronix/to/be/
$ curl -O https://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_5.8.0_all.deb

Then run the install process:

$ sudo dpkg -i phoronix-test-suite_5.8.0_all.deb
$ sudo apt-get install -f

Once the program is installed, run it for the first time. It will ask you a couple of questions and then show you all the options available to you:

$ phoronix-test-suite

Test

There are many different tests available to use. You can see what individual tests are available:

$ phoronix-test-suite list-available-tests

Or you can look for groups (suites) of tests:

$ phoronix-test-suite list-available-suites

You can get information on a particular test or suite:

$ phoronix-test-suite info [test]

When you know what test or tests you want to run, you need to install the test dependencies before you can run them.

You can run the install in a separate operation:

$ phoronix-test-suite install pts/build-mplayer-1.3.0

Then:

$ phoronix-test-suite run pts/build-mplayer-1.3.0

Or you can invoke benchmark which will first install and then run the tests for you.

$ phoronix-test-suite benchmark pts/build-mplayer-1.3.0

You can run each test individually or several at a time. Whether you run one test or multiple, you can run them in interactive mode or batch mode. Batch mode is great if you want to run many tests without needing to babysit.

Batch

Run the batch-setup and answer all the questions:

$ phoronix-test-suite batch-setup

You can check to make sure the answers were saved properly by looking in the BatchMode section of ~/.phoronix-test-suite/user-config.xml file.

Once batch mode is setup, you can start the batch-benchmark command and walk away while Phoronix installs and runs all your tests. Unless you requested some interactivity when you did the batch-setup.

You can batch a list of tests:

$ phoronix-test-suite batch-benchmark \
	pts/build-apache-1.5.1 \
	pts/build-firefox-1.0.0 \
	pts/build-linux-kernel-1.5.3 \
	pts/build-mplayer-1.3.0 \
	pts/build-php-1.3.1 \
	pts/build-webkitfltk-1.0.0 \
	pts/compress-7zip-1.6.0 \
	pts/compress-gzip-1.1.0 \
	pts/compress-lzma-1.2.0 \
	pts/compress-pbzip2-1.4.0 \
	pts/gcrypt-1.0.3 \
	pts/gmpbench-1.1.0 \
	pts/gnupg-1.3.1

Or you can batch a suite of tests:

$ phoronix-test-suite batch-benchmark pts/cpu

Once the tests are run the results will be saved locally and (if you opted for this) uploaded to OpenBenchmarking.org.


Take a look at the official Phoronix documentation for many more details on how to use this tool.

Subscribe to our blog!
Learn more about RSS feeds here.
rss feed icon
Subscribe Now
Read our recent posts
Improving user/customer experience in every industry with clean address data
Arrow Icon
You finally track down an essential addition to your collector’s set of [insert item of your choice], and you're hyped to buy it until the chaos begins. The cart is hidden in a fly-out on the side, cluttered with blocky, overwhelming text. You spend way too long just trying to find the "Proceed to Checkout" button. 👎 That’s bad UI (user interface): messy, confusing design that makes navigation a chore. You make it to the checkout and start entering your info, but the site keeps rejecting your address.
Dashboard essentials for Smarty users
Arrow Icon
The Smarty dashboard is your central hub for managing address verification, geocoding, and property data services. Whether you're just starting or looking to optimize your current setup, understanding the dashboard's full capabilities can significantly streamline your address data operations. We recently held a webinar in which we reviewed all of the Smarty dashboard's items and features. Missed it? That's OK; we've got all the information right here. You can expect to read about:Accessing your dashboardSetting up your account for successUnderstanding your active subscriptionsManaging API keys effectivelyStreamlining billing and financial managementStaying informed with smart notificationsTeam management and access controlsWeb toolsMaking the most of free trialsKey takeawaysLet’s get going!Accessing your dashboardGetting to your dashboard is straightforward.
Take charge of your API usage with Smarty’s key management features
Arrow Icon
Ever wondered, “Where did all my lookups go?!” Without proper API management, you may burn through your lookups quicker, experience runaway code, and encounter unexpected usage. That’s why Smarty created usage by key (included in all annual plans) and limit by key (included in some plans; you can add them by contacting sales) for its APIs. Why key management mattersCommon API usage challenges (problems to solve):Unexpected spikes in lookupsDifficulty tracking specific key usageWhich keys are calling which Smarty licenseNeed for better control over API consumptionDifficulty allocating Smarty lookups across an organizationWith Smarty's key management features, you gain more control by having better visibility of your usage, eliminating the element of surprise (you know, the bad kind, like when you’re suddenly out of lookups).

Ready to get started?