I have a scenario. I have perfectly working sharepoint environment with one database, one web server and one app server in a location(Head office). I have a working site in this environment. Now the situation is, it takes a longer response time for the site to be accessed from a far distant location(branch office). How possibly could I reduce the response time? Installing one more web server or app server at branch office would reduce my response time and maintain load balance?
While stretched farms are technically supported, there are some stringent support requirements (see https://technet.microsoft.com/en-us/library/cc262485(v=office.15).aspx#hwLocServers for details) which usually mean that this is out as an option.
Have you thought of using BranchCache? There's information on setting this up its impact on user experience with SharePoint 2013 at https://technet.microsoft.com/en-us/library/jj721440.aspx.
Installing web/app server in the remote location may help, but it's not guaranteed. It all depends on design and usage patterns of your site. You should try to find out what is slowing down response time exactly. For example, if your site UI has a lot of graphics, remote web frontend server can help reducing response time, but if your site users use BI features a lot, DB query traffic will still be transfered over remote(slow) connenction.
Anyway, I recommend you to diagnose the cause of slow performance at first. There is an overview article on SharePoint performance (it's not new, but still good enough for an overview): https://technet.microsoft.com/en-us/magazine/2009.08.insidesharepoint.aspx