Why Is Load Testing Useful

July 25th, 2010 admin No comments

Load testing is the process of putting increasing demand on a system or software until the system or software breaks or fails to function. The purpose of load testing is to test the system against unusually high usage patterns to determine how the system or software will react. 

One example of the need for this type of testing is a web server hosting a web site that is seasonal or receives peak levels of web traffic during highly publicized special events. Another example would be a link to a small web site from a very popular site, that then doubles or triples the number of concurrent visitors to the smaller web site. Load testing in each example could determine ahead of time whether each site could handle the increased traffic without the hosting server failing to serve web pages to visitors during the peak load. 

Software load testing 

Software programs can be load tested and can be particularly useful if they are network capable as most modern software packages are today. Testing is usually performed by the software company itself, rather than individual users or business users unless determining maximum capacity is critical to the enterprise. Ordinarily however, software will come with a set of benchmarks, stated maximum concurrent users and other statistics that are useful in determining suitability to purpose, often removing the need for individual testing. 

With common software packages, like a word processor application or graphics editor application, these can be tested by repeated attempts to load a very large document. Will the document load successfully? Or will a suitable error message be displayed to confirm that the document is beyond the capacity of the application to handle it? Will the application simply crash with or without warning? In the case of other applications like a database that is setup to only handle 100 concurrent users, like some versions of Microsoft Access database application, what happens when the 101st user is attempting to connect to the database? Different software makers will handle the software limits in various ways and it can be helpful to be aware of these. In addition, web applications need to be written to display appropriate messages to the web user if maximum capacity has been reached. 

Web server and web application load testing 

The World Wide Web (the Internet) is run by networks, and web servers are utilized to offer web site functionality to web users. A lot of the software used on these networks and servers today was designed for the Internet, but quite a few have been inherited and was not specifically designed for it. 

Early versions of Microsoft Access are a case in point. The 100 concurrent user limit was fine for most enterprises using a network version of the package. As long as each user quickly accessed the database, ran their database query, saved the results and then disconnected from the relational database management system (RDBMS), hitting the concurrent user limit could be avoided in many cases. Depending on the uses for the database, 1,000 users across an enterprise could have access to the RDBMS as long as no more than 100 employees did so during the same few seconds a database query was being ran.  

Some web hosting companies still offer earlier versions of Access for free with their hosting packages and this can create problems for web developers that create a web application, utilizing Access as the primary RDBMS, never anticipating the web site becoming anything but modest success. The concurrent user limit could be quickly reached if traffic grew beyond expected levels and the web site would become inaccessible for many users. 

Load testing in the real world 

Load testing is useful to determine the maximum usable load for an application, be it standalone, networked or web-based. This can help when attempting to predict outcomes should demand exceed estimates by the wide margin. Software packages will usually come with some internally tested load suggestions but it is useful to conduct your own tests when the application is critical to business operations.

Thank you,
Jitkasem Pintaya

Linux bootloader.

July 21st, 2010 admin No comments

What is a bootloader?

In computing, booting or booting-up, is the process that starts an operating system when a computer system is turned on. A boot sequence is then followed, step by step, running some initial tests of the hardware and then initializing the bootloader.

A bootloader loads the operating system, often from a list of options, selecting the default option if another is not selected by the user within a set period of time. The user interface one sees can be a simply text display or a graphical user interface.

When a computer starts-up, the BIOS is loaded. The master boot record (MBR) is accessed from the first sector on the boot-able media. The MBR is limited to a single operating system, i.e. one distribution on Linux (Ubuntu, OpenSuse, etc.). The MBR is split up into two parts, part or all of the boot loader and information on the drive partitions. The BIOS locates and loads the first part of the bootloader, known as the initial program loader or IPL. The IPL checks the partition table to locate the second stage of the bootloader and load it.

The second part of the bootloader is much larger than the first, which is limited by the size of files the BIOS can access. The second part is also the part that is visible, so often people think it is the only part of the bootloader. This part contains the user interface to display the bootloader to the user and kernels to help the computer function correctly in the initial stages.

With newer Linux bootloaders, you have new options like the ability to load from a list of operating systems, use encrypted passwords and so on. This allows the flexibility to have a number of different operating systems installed on separate drives or separate partitions on the same drive. Different popular distributions of Linux, like Ubuntu Linux and OpenSuse Linux, as well as Microsoft Windows operating systems, can coexist happily together. This gives the user ultimate flexibility at boot time.

Two of the more popular bootloaders on Linux operating systems are LILO and GRUB.

Linux Loader

Linux Loader, or LILO, is the most common bootloader for Linux. It has been around many years, enjoys rich support from the Linux community and continues to evolve with new features added over time. There are many features to help troubleshoot a system having problems booting-up successfully. It also permits dual boot of a Linux distribution with any other operating system.

LILO is file system agnostic that allow to boot the OS from a floppy disc, CD-Rom, DVD, USB pen drive or hard drive. LILO is also flexible enough to be loaded from master boot record or boot sector of harddisk partiton. If you want to load LILO from boot sector then you must set up something in the master boot record in order to call the LILO that place on the harddisk partition.

GRUB

GNU GRUB, or GRUB, is fast becoming the boot loader of choice for many Linux users. The growing popularity of the Ubuntu Linux distribution that uses GRUB as standard is one reason for this, with approximately one third of Linux users using Ubuntu.

GRUB can also install on a range of media – floppy disc, CD-Rom, DVD, USB pen drive and hard drive – but it beats out LILO because the number of boot selections are unlimited. Given enough media options, this allows an enthusiast or Linux technician to load the latest stable release for one distribution of Linux, as well as a number of beta versions and special configurations for testing purposes, without the concern of running out of boot selections.

GRUB is also network ready and comes with an attractive graphical user interface.

Thank you,
Jitkasem Pintaya

Embedded board

July 10th, 2010 admin 1 comment

Recommend embedded system development board
1. idea6410 board
This board use Samsung S3C6410 ARM11 as the main processor.It come with
various type of peripheral interfaces as much as necessary. It suitable for automotive , industrial control applications or medical system.This board can run many OS such as Windows Embedded CE 6.0,
Embedded Linux 2.6, Android and Ubuntu.View more information about this board here.

idea6410 development board

2. HAWK board
This board was developed by Texus Instrument.It suitable for using in DSP
application. The main processor in this board is OMAP-L138 (ARM926EJ-S) run at
300 MHz.The OS and RTOS that can run on HAWK board are WinCE , Android , QNX,
eCos , Linux Angstrom or even if UBUNTU can be ported to this development board too.
The sale price is only 89 USD (cheaper that BeagleBoard-xM) make it one of the interesting
board to buy.

Embedded board

3.ODROID-T
This board is specific for Android developer.It is high performance development board.
Main processor is Samsung S5PC110 Cortex-A8 run at 1 GHz with 3D Accelerator : SGX540.
This board has mini HDMI connector (video out) support up to 1920 x 1080 resolution, so you
can view the Full HD 1080p video on HDTV by using this board as video player. Other features
included in this board are also the same as the features of Netbook.
(It has WiFi , Bluetooth , USB , Audio-out , MicroSD Card Slot , etc).
View more information about ODROID-T at here. Selling price of ODROID-T is around 549 USD.

odroid-t

4.BeagleBoard-xM
This board use Super-scalar ARM Cortex-A8 as its core processor (speed at 1 GHz) .
It contain 512 MB DDR RAM and with this amount of ram enable user to run many applications
from the simple one to the complicate.It also support many OS such as Ubuntu , Android , MeeGo,
WinCE, QNX, Angstrom, Symbian, Debian, Gentoo, and others (View the project that use with this
board on this page). CPU of BeagleBoard-xM has DSP capability so it can perform DSP tasks such
as video streaming. It support Open GL ES 2.0 (make it able to render the 3D graphics user interface), otherwise this board come with S-video port (TV out) , DVI-D port (allow addition of digital computer monitors and HDTVs) , Audio IN/OUT port and Camera port. With this board user can debug the program running on this board via JTAG interface too. Price of this board is only 179 USD and you can buy it from Digi-Key.

BeagleBoard-xM

Thank you,

Jitkasem

Embedded scientific calculator.

June 20th, 2010 admin No comments

Casio fx-9860gsd is one of scientific calculator that can use for
calculate scientific formular otherwise it also can be used in controlling
as the embedded calculator.

Casio fx-9860gsd has the graphic LCD display (only two colors , black & white).
It use high performance processor , has the serial port and also has the SD card slot.
This calculator can be programmed without using the external program-burning equipment
(user can write program and download compiled-program to the calculator).
The software development kit for develop the software is free for download (include the compiler,
library and IDE). This SDK can make Casio fx-9860gsd to become good embedded controller board.
The drawback is it doesn’t have input/output port sufficiently to use ,however we can solve this drawback
by use the external equipment to expand I/O port.

Important technical specification of Casio fx-9860gsd are as follow…
- Use CPU from Renesas (SuperH-3 32-bit RISC processor) run at 100/133 MHz (depent on the working
mode)
- RAM 512 kB
- 4 MB Flash memory (can actually use about 1.5 MB)
- Download program to the calculator via mini USB by using FA-124 software.
- One channel serial port.
- Addition application can be appended to the calculator by ourselve.
- Develop program using C language and the SDK is free for download.
- Have SD card slot (SD card used for install new application or store the data).
- Noise tolerant and high stability.
- Can exchange the program between two calculators using the special signal-wire.

Casio fx-9860g sd

Casio fx-9860g sd

Essential software you need to download before start develop the program for Casio fx-9860gsd

First download SDK for fx-9860g (this SDK contain IDE and C
compiler). The registration is required and you must own the real Casio fx-9860gsd
(because it request for the identification number that stick at the back of this scientific calculator).
If you don’t have real Casio fx-9860g series then you can’t download this SDK.
Visit https://edu.casio.com/download_service/register/regist_form.php for register and download SDK.

Second download library Revolutionfx from http://revolution-fx.sourceforge.net.
This library help in reading and writing via serial port of the calculator (You cannot
access the serial port by using only the SDK from casio).
It also has the routine for draw a line or graph and include special function that is
valuable for working with this calculator.

Last software that need to download is Casio FA-124. This software use for download or
burn the program into calculator. You can download Casio FA-124 at http://world.casio.com/edu/resources/fa124/index.html.

When you have all three software above , you must install the fx-9860g SDK first
after that install the Revolutionfx library and Casio FA-124 respectively.

This article doesn’t talk about how to set up the environment for develop the program
and how to write the C code instruction for this calculator because I intend to write the
review for Casio fx-9860gsd only.

Reference :
1. Prototype Electronics Magazine (issue 11 , June 2010)
2. http://www.tpemagazine.com

Thank you,
Admin

Interest embedded development board

June 10th, 2010 admin Comments off

Preview on Feedage: software-design-and-embedded-system-toolsSoftwareTop BlogsBlog DirectoryBlogadr.com - Listed (add your blog to Blogadr.com)Blog Directory

Fez Domino

This development board was developed by GHI Electronics. It use 32 bit ARM7 (LPC2388FBD144 run at 72 Mhz) as the main microcontroller. It also the same as other general embedded development board except
that it use Visual C# 2008 Express Edition as compiler (so you must able to write the C# language) and use Microsoft .Net Micro Framework as the template for development the program on this microcontroller.
This IDE provide the full function of debugging capability. It also provide
an emulator mode , so you can run your developed program
without burning it into the real development board.

The extra capability of FEZ Domino is that its IOs port are correspond with
the hardware standard of Arduino (Pin compatible with Arduino) ,
so it can be used together with Arduino shield board.
For more information about Fez Domino , please visit TinyCLR.com

Picture of Fez Domino board

Picture of Fez Domino board

Below are videos introduce about how to develop program on Fez domino


Thanks,

If you have some questions or want to suggest something to me , please send an email to admin@embedsoftdev.com

Admin
jitkasem pintaya

Get Adobe Flash playerPlugin by wpburn.com wordpress themes