sandip's blog

Accelerating PHP with eAccelerator

eAccelerator is a further development from mmcache PHP Accelerator & Encoder. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated.

  • Prior to installing check that php-devel package is installed.
  • Download via http://eaccelerator.net/DownloadEaccelerator
  • Run the below commands to compile and configure:
      # export PHP_PREFIX="/usr"
      # $PHP_PREFIX/bin/phpize
    

PHP Accelerator

PHP Accelerator is an easily installed PHP Zend engine extension that provides a PHP cache, and is capable of delivering a substantial acceleration of PHP scripts without requiring any script changes, loss of dynamic content, or other application compromises.

  1. Installation:
    • Download PHPAccelerator.
    • Unpackage it and move contents to "/usr/local/phpaccelerator".
    • Include the below line to php.ini under dynamic extension section:
          zend_extension="/usr/local/phpaccelerator/php_accelerator_1.3.3r2.so"
      

Protect against HTTP DoS attacks with mod_dosevasive

mod_dosevasive is an evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack. It is also designed to be a detection and network management tool, and can be easily configured to talk to ipchains, firewalls, routers, and etcetera. mod_dosevasive presently reports abuses via email and syslog facilities.

The below steps were used to install mod_dosevasive on Apache-2.

  1. Installation:
    • Check that you have httpd-devel package installed as you will need apxs
    • Download mod_dosevasive.

/proc File Systems...

The kernel provides a list of file system types it is able to mount via the /proc file system. To view the list, run the command `cat /proc/filesystems`. The output will look something like:

nodev    proc
         ext3
         ext2
         vfat
         iso9660
nodev    nfs
nodev    smbfs

In this output, the entry vfat means you can mount FAT/VFAT (Microsoft Windows) partitions. The entries ending with smbfs and nfs mean you can interact with file servers that use SMBFS (Microsoft's Server Message Block File System, accessed via Samba) or NFS (Sun's Network File System). The iso9660 indicates that you can mount standard CD-ROM file systems, and ext3 and ext2 indicate that you can mount those kinds of Linux file systems.

Get PHPwiki up and running with mysql

Ran into some difficulty installing the wiki with mysql backend as the documentation wasn't upto-date.

Below are some notes and customization done during the process:

  1. Download the latest tarball from SourceForge
  2. Extract all files.
  3. Copy 'config/config-dist.ini' to 'config/config.ini' and edit the settings.
  4. Make sure to set the value of 'DEBUG' to either 1 or 0 and do not comment it out. The install process complains if the DEBUG value is not found.
  5. Upload the "passencrypt.php" to the web-server and access it via browser to encrypt password.

MRTG Performance Monitoring Extensions

MRTG is awesome, but by default it’s limited to SNMP metrics.

The MRTG extension packages allow for the monitoring of performance analysis metrics over SSH or locally, and they’re easy to set up, configure and maintain. With these extensions installed, it's possible to monitor UNIX performance metrics such as CPU and memory utilization, as well as paging, swapping and process statistics. Plus, since you don’t need to have an SNMP daemon running, your system is more secure.

Load test your web application with OpenLoad

OpenLoad is a tool for load testing web applications. It aims to be easy to use and providing near real-time performance measurements of the application under test. This is particulary useful when you are doing optimization as you can see the impact of your changes almost immediately.

OpenSource Tomcat Book

Tomcat is the reference implementation of the Java Server Pages(JSP) and Java Servlet specifications. This means it is the most standards compliant Java server available.

Despite Tomcat's popularity, it suffers from a common shortcoming among open source projects: lack of complete documentation. There is documentation distributed with Tomcat mirrored at jakarta.apache.org. However, there is also an open source effort to write a Tomcat book at tomcatbook.sourceforge.net

Sync hardware clock with current system date and time

There are two main clocks in a Linux system:

The Hardware Clock: This is a clock that runs independently of any control program running in the CPU and even when the machine is powered off.

The System Time: This is the time kept by a clock inside the Linux kernel and driven by a timer interrupt. It has meaning only while Linux is running on the machine.

Often-times, it happens that when you reboot, your clock does not reflect the correct date and time. You may be forgetting to sync the hardware clock with the current system time. Here is how:

First check and set the current system date and time.

# date
# date -s 'Wed May 28 11:35:00 EST 2003'

Then sync your hardware clock with the system time.

# hwclock --show
# hwclock --systohc

man date and hwclock for more info...

Partitioning, formating and mounting the Ximeta 120GB External (NDAS) HDD

The NetDisk™ by Ximeta is the first external hard drive that can be connected to either your Local Area Network (LAN) or directly to any PC via USB 2.0. Multiple PCs can simultaneously access any data on the NetDisk™ without sacrificing performance.

If you are connecting it to your network, drivers for some of the popular Linux distros are available on their website. However, it is built against older kernels. Hopefully they will come out supporting the latest kernels.

If you are connecting locally via USB, then it should be picked up as a SCSI hard-drive ( /dev/sda ) automatically.

Comment