The aim of this project to understand and performance test our multi-threaded three-tier server hierarchy system.
Architecture:
- Server code acts as a front-end to accept client requests.
- Database is accessed to process the client requests using C mysql API.
- Client code acts as a load generator to test performance of the code.
Server Capability:
- Listen for clients on server socket and spawn a new socket when request is accepted.
- Authenticate the client identity and display the file list.
- Initiate secure file copy program(scp) to get requested file from database system to server local machine.
- Start the transferFile module to send the file into chunks.
- Throw any error(if any).
Client Capability:
- Send requests to server.
- Selection of file from the list populated by server.
- Start the receiveFile module to receive file into chunks.
- Throw any error(if any).