Font Size: a A A

Analysis And Research On High Concurrency Based On Association

Posted on:2017-04-03Degree:MasterType:Thesis
Country:ChinaCandidate:S J LiuFull Text:PDF
GTID:2278330488964852Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Solving high concurrency effectively has become primary consideration when a software engineer designs system architecture because of the growth of the Internet users with a speed of geometric ratio in the era of Internet plus. We can increase the number of server host as well as strengthen the server’s configuration to alleviate the high concurrency in the level of physical, but it leads to high costs for the companies undoubtedly. Technology, from multi-process, multi-thread to load balancing and cluster is all in response to the pressure of the high concurrency in the level of technical. However, thread is precious resources of operating system. When the value of concurrency is higher and higher, it has to face the severe test.The primarily problem the paper resloves is achieving more value of concurrency in limited resources. Mainly content as follows:Firstly, this paper references the concept of coroutine and realizes the existing multithreaded programming using goroutine in golang language. Then, this paper designs experiments, contrasts goroutine with threads in espect of the elapsed time and memory usage under the same value of concurrency and analyses goroutine scheduling principle with the experimental results. Finally, we analyse the principle of HTTP protocol in golang according to the codes and design a set of web server framework named webgo with the convenience of goroutine. After testing, we get the conclusion as follows:Compare with thread, coroutine is more lightweight and realize more concurrency under the same environment.The scheduler in golang allows the operating system from the frequency of thread scheduling and lighten the burden on the server side. Finally, Comparing with beego, we can get conclusion that webgo has advantage in dealing with large amount of concurrent and in the design of a simple logic web server.
Keywords/Search Tags:high concurrency, multithreading, coroutines, goroutine
PDF Full Text Request
Related items