This utility can be used to test performance of storage devices.
First, one need to generate file with I/O operations:
# set mediasize=`diskinfo /dev/<device> | awk '{print $3}'`
# set sectorsize=`diskinfo /dev/<device> | awk '{print $2}'`
# raidtest genfile -s $mediasize -S $sectorsize -n 50000
It will generate test which contains 50000 I/O requests with random
size and random offset. Size is a multiple of sectorsize, but less than or
equal to 128kB (maxium size of I/O request). I/O request type (READ or WRITE)
is random as well.
All test data are stored in 'raidtest.data' file in current working directory.
To run test, one should type:
# raidtest test -d /dev/<device> -n 10
This command will read test data from 'raidtest.data' file, run 10 processes
which will be used to send requests to the given device in parallel.
When test is finished you will see statistics:
Bytes per second: <x>
Requests per second: <y>
If you compare performance of two storage devices, use the same data file!
usage: raidtest genfile [-frw] <-s mediasize> [-S sectorsize] <-n nrequests> [file]
raidtest test [-Rrw] <-d device> [-n processes] [file]
where:
-d device path to tested device
-f if raidtest.data file or specified file already exists,
remove it and create new one
-n nrequests number of requests to generate
-n processes number of processes to run
-r generate/run only READ requests
-R generate random data for write requests
-s size of destination device
-S sector size of destination device
-w generate/run only WRITE requests
file path to the data file instead of default 'raidtest.data'
ecgi (easy CGI Libary) is an ANSI C library for the creation of
CGI-based Web applications. It transparently supports the CGI methods
GET and POST, and also multipart/form-data file uploads. The user
interface is designed to be as easy as possible and maintains full
compatibility to cgic 0.5.
It also contains a library independent introduction to CGI programming
with C, an .html to .h HTML template preprocessor, and fast,
block-allocating memory files.
Mailsync is a way of keeping a collection of mailboxes synchronized. The
mailboxes may be on the local filesystem or on an IMAP server.
The rencode module is similar to bencode from the BitTorrent project.
For complex, heterogeneous data structures with many small elements,
r-encodings take up significantly less space than b-encodings.
This version of rencode is a complete rewrite in Cython to attempt to
increase the performance over the pure Python module written by Petru
Paler, Connelly Barnes et al. Later, it was forked, enhanced, and
bundled with Deluge. Now, it is re-packaged and distributed by Xpra.
eGenix.com mx Extensions for Python
The mx Extension Series(TM) is a collection of software packages which aims at
providing professional quality add-ons for the Open Source Language Python
(see http://www.python.org).
It consists of the following packages:
mxDateTime - Generic Date/Time Types
mxTextTools - Fast Text Processing Tools
mxStack - Fast and Memory-Efficient Stack Type
mxTools - Collection of Additional Builtins
mxProxy - Generic Proxy Wrapper Type
mxBeeBase - On-disk B+Tree Based Database Kit
The Statistics::LineFit module does weighted or unweighted least-squares
line fitting to two-dimensional data (y = a + b * x). (This is also
called linear regression.) In addition to the slope and y-intercept, the
module can return the square of the correlation coefficient (R squared),
the Durbin-Watson statistic, the mean squared error, sigma, the t
statistics, the variance of the estimates of the slope and y-intercept,
the predicted y values and the residuals of the y values.
DigiTemp is a simple to use console application for reading values from
Dallas Semiconductor 1-wire devices. Its main use is for reading temperature
sensors, but it also reads counters and understands the 1-wire hubs with
devices on different branches of the network. DigiTemp now supports the
following 1-wire temperature sensors: DS18S20 (and DS1820), DS18B20, DS1822,
the DS2438 Smart Battery Monitor, DS2422 and DS2423 Counters, DS2409
MicroLAN Coupler (used in 1-wire hubs) and the AAG TAI-8540 humidity sensor.
The inplace(1) command is a utility to edit files in-place through
given filter commands preserving the original file attributes. Mode
and ownership (user and group) are preserved by default, and time
(access and modification) by choice.
Examples:
# Sort files in-place using sort(1):
inplace sort file1 file2 file3
# Process image files preserving time and taking backup files:
inplace -t -b.orig 'convert -rotate 270 -resize 50%% %1 %2' *.jpg
ike-scan discovers IKE hosts and can also fingerprint them using the
retransmission backoff pattern.
ike-scan does two things:
a) Discovery: Determine which hosts are running IKE.
This is done by displaying those hosts which respond to the IKE requests
sent by ike-scan.
b) Fingerprinting: Determine which IKE implementation the hosts are using.
This is done by recording the times of the IKE response packets from the
target hosts and comparing the observed retransmission backoff pattern
against known patterns.
DBD::Google allows you to use Google as a datasource; Google can be queried
using SQL SELECT statements, and iterated over using standard DBI conventions.