Title photo
frugal technology, simple living and guerrilla large-appliance repair
Mon, 23 Mar 2015

Test your (or any) web site’s availability with Apache’s ab utility

Buried in this blog post is a great tip: Using the Apache web server utility ab to determine web site availability and speed.

Definitely check out the post (which is about hosting static sites on Amazon S3), and if you are interested, install ab, which comes bundled for Debian/Ubuntu-style Linux systems in apache2-utils and for Fedora/RHEL/CentOS-style systems in httpd-tools.

The article linked above gives you the command to install apache2-utils in Ubuntu/Debian, and I could provide a similar yum command for Fedora/CentOS, but you probably already know how to install packages both from the command line and a GUI, right?

(I'm not sure how you'd get the Apache utilities in Mac OS X or Windows -- maybe someone else knows.)

Once you have the appropriate package installed (I already had it and didn't even know it), you just run the ab program from a terminal. This line hits my site with 1,000 requests:

$ ab -n 1000 -c 40 http://stevenrosenberg.net/blog

And the output is:

This is ApacheBench, Version 2.3 <: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking stevenrosenberg.net (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        nginx/1.6.2
Server Hostname:        stevenrosenberg.net
Server Port:            80

Document Path:          /blog
Document Length:        309 bytes

Concurrency Level:      40
Time taken for tests:   4.828 seconds
Complete requests:      1000
Failed requests:        0
Non-2xx responses:      1000
Total transferred:      530000 bytes
HTML transferred:       309000 bytes
Requests per second:    207.14 [#/sec] (mean)
Time per request:       193.109 [ms] (mean)
Time per request:       4.828 [ms] (mean, across all concurrent requests)
Transfer rate:          107.21 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       71   82  32.9     76    1077
Processing:    76  106  31.6     96     431
Waiting:       76  105  29.9     96     282
Total:        148  188  46.7    182    1157

Percentage of the requests served within a certain time (ms)
  50%    182
  66%    189
  75%    199
  80%    209
  90%    232
  95%    259
  98%    283
  99%    312
 100%   1157 (longest request)

That's a pretty useful utility, am I right?

Note: So how did Ode do in this test? Very well. The site carries Javascript for Disqus and the Twitter and Google Plus counters, so it's not as light as it could be, and the speeds are no slower than for my entirely static sites on this same shared-hosting server.

And it also shows that Ode can easily handle 1,000 simultaneous requests. Not bad at all.

Sat, 07 Mar 2015

PulseCaster records both sides of your conversation - and I can confirm that it works

PulseCaster has a very simple GUI

So I'm looking for PulseAudio-related software today, and I come across PulseCaster, a Python application created by former Fedora Project Leader (and current Red Hat employee) Paul Frields.

It's a simple app. On Linux systems equipped with PulseAudio (which these days is most of them), it will record both sides of a conversation you are having on any application that pushes that audio over PulseAudio. The default is recording both sides of the conversation to a single OGG file. There is an "advanced" setting that records each side of the the conversation as a separate, uncompressed WAV file.

It's a simple app, and I can tell you that it works well. The wiki suggests that you use it with VOiP apps like Ekiga and Twinkle. Let me tell you now that it also works just fine with the non-free, freedom-hating Skype.

If you wanted to record a podcast, or just a VoIP call with someone else (and yes, PulseCaster warns you not to record without the other party's permission), it couldn't be easier than this.

PulseCaster's warning screen

PulseCaster is packaged for Fedora, but you can get the code from the links on the project home page (which is generated out of GitHub).

It's a simple app that works. What more could you want?

All the PulseCaster links you'll need: Wiki, GitHub, Home

Tue, 03 Mar 2015

Xfce 4.12 Copr repos available for Fedora 20 and 21

Thunar in Xfce 4.12

Copr repos are to Fedora what PPAs are to Ubuntu. And there are Copr repos for the new Xfce 4.12 that work on Fedora 20 and 21.

So what's new in the long-awaited Xfce 4.12? The Xfce news post details the changes, and an online tour provides a more graphical look at the new release.

I'm running Xfce 4.10 in Fedora 21, and there's nothing in 4.12 I can't wait for, so I'll probably be sticking with what I've got until the next Fedora (or other) release I upgrade to or install.

But it's nice to see development continuing for Xfce, which had quite a dry spell between 4.10 and 4.12.

A nice note at the bottom of the Xfce.org tour:

A note on Xfce's portability

All but one of those screenshots were taken on machines running OpenBSD -current, a good proof that Xfce is still portable and friendly to all Unix systems.