IPv4 and IPv6 client-server designs: the sockets performance - Mantoro, Teddy; Ayu, Media Anugerah; Borovac, Amir; Zuhedy Zay, Aqqiela Zuhra (2012)
Client-Server has several design alternatives, mainly iterative server and concurrent server. Inefficiency in the use of time and process control can be resulted from choosing a server design improperly. A server has more process control than clients as a server has to respond to multi-query and multi-processing in the same time from different client platforms such as IPv4 or IPv6. This study analyzes the performance of IPv4 and IPv6 in 5 different server designs, i.e. Iterative Server, Concurrent Fork Server, Concurrent Thread Server, Concurrent Pre-Fork Server and Concurrent Pre-Thread Server. The experiments for analyzing the CPU time including kernel and user mode time for each server were performed in TCP sockets using several techniques, it includes assigning 5 to 50 clients with connection from 500 to 5000 consecutive connections for each client on each test for each server. This study compared, discussed and analyzed time allocations for each type of those servers in responding to the query from the clients. This paper reveals that among 5 server designs, iterative server took less time in handling clients, while concurrent-fork server took most CPU time in handling multiple clients. Our experimental results show that IPv4 took less time in kernel mode in all the five server designs, and IPv6 took less time in user mode only under iterative server, pre-fork server, and pre-thread server. However, for the overall performance, IPv4 performs better than IPv6.