【Summary】
Web technology-based database applications are a hotspot for current applications, and improve web server performance is an urgent topic in applications where users are large and communication load. This paper has been taken from the author's experience in the development of a bank system project. It describes the performance of the improvement of the performance of the web server should penetrate into project arguments, selection, development, operation and management. Only all aspects can fully consider performance and quality. The need, the performance of the system is truly guaranteed and expandable.
The article from the actual operation of the system and the corresponding experience, the article explains some specific measures in performance improvements.
For example, in this article, the selection consideration of the web server platform is discussed; the configuration management of the web server; the application system itself is optimized and the performance guarantee of expressed performance when designing the system.
Through technical analysis and improvement, multiple types of measures and means are combined, in actual systems, the performance of the web server is guaranteed to be guaranteed.
【text】
My unit is a information technology company that targets the development of IT applications in the financial sector. With the development of financial electronic construction and the intensification of market competition between commercial banks, major commercial banks continue to provide new financial products through information technology, and hope to integrate market channels. For example, the main commercial banks continue to launch a variety of online banking services. In this context, I participated in the development of a new generation of online banking products, involving providing online personal wealth management services, online foreign exchange services, online business services, etc. have market competitive products. As one of the organizers developed by the project and the main technical backbone, it is always in the first line throughout the project development, thereby improving the performance of Web server, improving the overall online platform system performance, briefly discuss this article As far as you want to share your experience with your readers. In terms of Web Server Configuration and Optimization, I have the following main experience:
The first aspect is the web server selection consideration.
At the beginning of the web server selection and online platform, we have fully considered the performance and scalability issues of the entire online platform. This considers a solid foundation for the stability and expanding performance of the system.
Some online products of a bank have been developed earlier, so it is the way to call the old HTTP Server CGI program. At this time, each customer request needs to process the system process of the backend system to run the CGI program. The system's overhead is quite large, the system's extension ability is also very poor, and the performance can no longer meet the needs of business processing, so it is When the banking system is specifically selected, we reject this solution at the beginning.
Through the comparison of similar products on the market, we chose the IBM's Web Sphere Product Series of International Business Machinery Co., Ltd. as the establishment platform of the bank online banking system. This choice is because Web Sphere is based on the overall architecture separated by the HTTP Server and the application server, while supporting the light level thread specification such as JSP, Servlet, and Enterprise Group Java Bean, all requests correspond to processing threads, systems on the application server. The cost is low, the efficiency is very efficient, and the web sphere is equivalent to the entire architecture. It can make different horizontal and longitudinal extensions for adaptation of extended needs, so that the future expansion needs of banks can meet the future of banks.
It is precisely because we have considered future expansion needs, and the entire system in the next several performance improvements, we can generally achieve the expected goals relatively smooth.
The second aspect is the performance configuration of the web server.
When the system is on the first system, since the system's load is not very large, in order to save the system total cost TCO investment, we have put into production of the system on a lower configuration IBM RS6000. The HTTP server, application server, communication server, etc. of the entire system are located on the machine. Since there are not many users in initial production, the performance of the system can basically accept.
However, as the business development and the increase in user visits, we found that the server's response is slow, and the CPU utilization rate of the system is significantly increased. After tracking, we have found that one of the key reasons is the insufficient memory of the system. Since the online server stores a large number of users' session information to supply the application in memory, when the memory is insufficient, a large SESSION information is forced to switch to the hard disk, and a large number of CPU time consumes the exchange of internal and external, the system efficiency is rapidly decline. In view of this, we extend the memory of the server from 2GB to 4GB, while adjusting the save time of the user session information, so the efficiency of the entire system returns to the ideal situation.
Since the continuous production of new applications and the increasing database operation, we will gradually monitor the system's database in a busy state, and the system's error log also records the shortcomings of the database connection used by the supplied server. In this context, we believe that the entire system should be horizontally extended due to the hardware configuration, so we separate the database server, configured to another higher performance server, the corresponding database resources have also increased significantly, so The performance of the entire system is in a more ideal condition.
The third aspect is the corresponding optimization of the application system to improve performance.
Web server configuration and corresponding hardware expansion is not loses a shortcut to resolve system performance issues, but the optimization of the application system should also be considered, after all, it can improve the system's application efficiency.
In the early days of development, we have a very payment of the utilization efficiency of the system, such as reminding programmers try not to use user session information (session) to pass large objects, and pay attention to recycling for memory. At the same time, through internal communication will promote some small, useful programming skills to improve the level of developers, through the spot check, I hope to find problems in the early days.
During the system run, we found the Java virtual machine based on the application server. The free space of the memory stack has a continuous decline. It will be exhausted every few days, and the new object space cannot be allocated. Restart. In addition to the reasons for the problem of the system itself, we have identified problems with the development of the application system. By monitoring the Java virtual machine from the Internet to detect the Java virtual machine to monitor the JVM, there is finally discovered objects that cannot be recycled in the system, and then find the corresponding program to discover the "annular" object reference in the program. Resulting in the use of the garbage collector after the object is used. Although the resolution process of this problem is very difficult, since this issue cannot be fundamentally resolved by upgrading hardware or increasing resource allocation, it will bring a lot of hidden dangers to the system. Therefore, the analysis and solution of the whole process is completely worthwhile, let alone through the process of finding the cause of the fault, giving a vivid software quality assurance class on the entire project group, has greatly promoted the quality of the quality of the project team.
Therefore, it is said that the performance well of the Web server is not simply system management, it penetrates the development and
A series of steps such as system operation.
The fourth aspect is pre-considered for future expansion and performance needs.
With the development and maturity of the system, considering the continuous rise in user access, in order to reserve the development space of the system, we have recently made a systematic upgrade for the entire system. Improve the entire system throughput and single-point fault over service by introducing multiple HTTP servers and applied server parallel work. Since the need for dynamic load balancing and horizontal expansion of dynamic load balancing and horizontal expansion, this upgrade does not require fundamental changes to the architecture of the entire system, but also caused the application. Any impact.
The entire project lasted for nearly two years, from the system of these two years, the entire system is successful. Based on my personal experience, system performance is not simply issues in system operation and management, but penetrates at various stages of project argumentation, development and operation. Only at all stages can be fully considered in the performance of performance. When actual operation, the performance of the entire system may be truly guaranteed. In terms of technical perspective, a series of means such as selection evaluation, hardware extension, application optimization, and system configuration optimization can be used. For example, in hardware expansion, it can be divided into main components expansion, longitudinal upgrade, lateral upgrade. In our project practice, the various means of the above have been combined. For example, the entire system of a bank is less than 10,000 days of visits from 10,000 to now more than i.0 million, the performance guarantee and improvement plan of the entire system is successful. Comment: The practice process is more convincing. The advancement of the provision and thinking is quite clear, the advancement of technical measures and management measures is also clear. There are still some limitations discussed, and it is not open enough. (This article mainly refers to the paper of Guangzhou Huangzhou and others.