<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d11356004\x26blogName\x3dxception\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://openrent.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://openrent.blogspot.com/\x26vt\x3d-2179510228592399674', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Kickstarting from a USB key

If you have multiple Red Hat servers to build, each with a customized kickstart, use the first Red Hat cdrom, and pass it the following command-line parameters:

linux ks=hd:sda1:/ks.cfg ksdevice=link

This tells the anaconda installer to use the first ethernet card with an active link, and to look at the USB key (sda1) to find the ks.cfg file used to build the server. Note that the kickstart file does not have to be named ks.cfg-it can be named any arbitrary name and still work.

Server throughput defined

Requests processed per time unit.

Potential reasons for web application slowness.

  • faulty, non-scalable application code
  • network bandwidth saturation
  • RDBMS access

Forcing SSL on Apache

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
RewriteLog "/d01/httpd/logs/www_shop4equipment_com/rewrite.log"
RewriteLogLevel 0

Find the device of a label

If you run Red Hat or Fedora, your /etc/fstab file for the /tmp directory might look like this:

LABEL=/tmp /tmp ext3 defaults 1 2

The "LABEL" command is hiding the true name of the device that provides the mount point for the /tmp file system. How can you tell what the device really is? The "tune2fs" command will reveal this information. The syntax for the tune2fs command is as follows:

# tune2fs -l /dev/hdaX |grep volume
# tune2fs -l /dev/sdaX |grep volume
# tune2fs -l /dev/cciss/c0d0pX |grep volume

The first command is for IDE drives, the second for SCSI drives, and the third for Compaq RAID arrays.

It helps to know, in advance, the partitions that are already defined on your server. If you don't know the partitions, run this command against each one until you find the partition with the label. In practice, this command on an HP Proliant server might look like this:

# tune2fs -l /dev/cciss/c0d0p7 |grep volume
Filesystem volume name: /tmp

Note that the grep returned the LABEL of the filesystem's volume: /tmp. In other words the /tmp LABEL is really the device at /dev/cciss/c0d0p7.

Understanding what it means to be "bound"

I found this great post that shows, in simple language, how computer work is "bound:"

"Most of our daily tasks are IO-bound, including anti-virus, backup, database, and file copying.

Microsoft Office is human-bound. A faster computer won't help you to type faster.

Photo, video, and audio related tasks (such as format conversions) are CPU-bound, as well as gaming and any kind of 3D work.

In summary, your tasks can be IO-bound, human-bound or CPU-bound."

Learn about a running module

Need to know what a loaded modules is doing? List them by issuing the "lsmod" command, and find one of interest. In this example, we want to know more about the ext3 module that is running:

# modinfo ext3
filename: /lib/modules/2.6.9-42.0.2.EL/kernel/fs/ext3/ext3.ko
author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
description: Second Extended Filesystem with journaling extensions
license: GPL
vermagic: 2.6.9-42.0.2.EL 686 REGPARM 4KSTACKS gcc-3.4
depends: jbd


This tells you the module name (which always end in .ko in 2.6 kernels), who wrote it, a description of what it does, what its version string (vermagic) is, and any dependencies it has on other modules.

Regenerate modules.dep

# depmod -a

Oracle Financials 11i ports

Database port: 1521
RPC port: 1626
Reports port: 7000
Web Listener port: 8000
OProcMgr port: 8100
Web PLSQL port: 8200
Servlet port: 8800
Forms Listener port: 9000
Metrics Server Data port: 9100
Metrics Server Req port: 9200
JTF Fufillment Server port: 9300
Map Viewer Servlet port: 9800
OEM Web Utility port: 10000
VisiBroker OrbServer Agent port:10100
MSCA Server port: 10200
MSCA Dispatcher port: 10200
Java Object Cache port: 12345
OACORE Servlet Port Range: 16000-16009
Discoverer Servlet Port Range: 17000-17009
Forms Servlet Port Range: 18000-18009
XMLSVCS Servlet Port Range: 19000-19009