Performance bottleneck of the client / server applications

Standard
 Performance, load/volume and stress test usually carried out together or at same time. Workload and performance of client/Server software system influenced by three main criteria

  1. Client or User

  2. Network

  3. Server

Maximum number of concurrent users , how long and maximum timeout of the user session on each functionality, transaction per second (TPS), Response time of the server.

Transaction Time = Client processing time + Network connect time , send and receive time +Server response time.

Formula to calculate the TPS:

User type% x Total users x Frequency per session
————————————————
60 minutes x 60 seconds

 

Example:

(User type in %) x 10,000 (Users) x 1 (FPS) /  (60 x 60)

CLIENT UI OR BROWSER

NETWORK

SERVER

Typical resource bottleneck

  • CPU Time

  • Latency delay introduced by network devices and data queuing.

  • Throughput and bandwidth

  • CPU Time

  • I/O access time: I/O bus, disk controller and disk access.

Typical activity bottleneck

  • Receiving, sending data

  • Formatting data

  • Displaying data

  • Executing script and active contents

  • Packets from client to server

  • Packets from server to server

  • Packets from server to client

  • Receive request

  • Execute related objects such as script, function, stored procedure …

  • And response the request with output.

Solutions :

  1. Maximum number of concurrent user allowed for each functionality should identified and alert to the user.

  2. Instruct to the client for recommended hardware and software requirement.

  3. Change the hardware or device in the network or in the server, like change the hub, router, physical cable, remove the faulty device from the network, increase the server memory, increase the disk space and change server software to new tech one.

  4. Change network architecture, network topology…

  5. Increase maximum server resource used by the application. Using load balance, catch size, virtual memory size, high end server ..

  6. Change the script or function to run quickly without affecting the functionality.( It should be at last – change the coding will affect other functionality then again bring to the software development cycle once again.)

  7.  

  8. Using throughput calculation help to choose correct network line. (May not be useful because we have hi tech connection everywhere)

    Throughput =

    Number Of Concurrent User * (Average size of the page in Kbytes * 1024 bytes/Kbyte * 8 bites/byte)

    _______________________________________________________________________________________

    Number of minutes take to test this throughput * 60 seconds/min

    For example:

    to calculate throughput for pages with average size 2Kbytes and 10, 000 concurrent user on the pages every 3.5 minutes. Calculation should be

    Throughput= 10,000 * (2 Kbytes * 1024 bytes/Kbyte * 8 bites/byte) / 3.5 * 60 seconds/min = 780,190 bps

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s