Asp.net's high concurrency solution. asp.net's concurrency Solution

Source: Internet
Author: User
Tags ftp protocol

Asp.net's high concurrency solution. asp.net's concurrency Solution
Asp.net solution for high concurrency. Posted on 75077027 read (3964) Comments (1) EDIT favorites

He has been reading the blog of Dai zhenjun for the past few days. He is Discuz! NT designers read a series of related Discuz! NT architecture design articles, especially Discuz! NT is particularly interested in a series of solutions designed to address high access and high concurrency. The purpose of writing this article is to give a summary after reading it for the first time, so that you can have time to test it in person in the future. If it can be applied in the production environment, it will be more valuable for reference.

Test method:
The high-access and high-concurrency testing tool used by the local simulated testing website is the well-known Loadrunner, which is generally known for testing. In the Dai zhenjun blog, the following articles describe how to use Loadrunner to perform stress concurrency testing.

When DiscuzNT meets Loadrunner (on)
Http://www.cnblogs.com/daizhj/archive/2009/09/25/1573926.html

When DiscuzNT encounters Loadrunner (medium)
Http://www.cnblogs.com/daizhj/archive/2009/09/27/1574897.html

When DiscuzNT meets Loadrunner (lower)
Http://www.cnblogs.com/daizhj/archive/2009/09/27/1575091.html


Discuz! NT is a forum program and a typical Internet application. In its design, it considers the high concurrency and high access traffic requirements in Internet application scenarios. In common open-source versions, the cache mechanism is mainly used to improve the system performance.

I. Ease the database read Pressure

 

Related Articles:
Discuz! Analysis of NT cache design [original]
Http://www.cnblogs.com/daizhj/archive/2007/08/15/855163.html

This Cache mechanism uses the Cache function provided by. Net, System. Web. Caching. Cache.
This solution can solve the demand for websites with low access traffic. higher levels of performance can be achieved by increasing the Web garden work process. In this solution, the problem of cache synchronization under multiple processes has been solved.


In Discuz! The NT Enterprise Edition provides a higher-level solution, uses a distributed cache mechanism, and introduces Memcached, Redis, and LLServer. The related articles are as follows:

Discuz! Integrating Memcached distributed cache in NT
Http://www.cnblogs.com/daizhj/archive/2009/03/23/1386652.html

 

In Discuz! Cache layering in NT (local cache + memcached)
Http://www.cnblogs.com/daizhj/archive/2009/11/17/1604436.html

 

Discuz! Redis Architecture Design in NT

Http://www.cnblogs.com/daizhj/archive/2011/02/21/1959511.html

 

Discuz! NT cross-site cache Synchronization

Http://www.cnblogs.com/daizhj/archive/2010/06/18/discuznt_memcache_syncdata.html

 

Discuz! Architecture Design of LLServer in NT

Http://www.cnblogs.com/daizhj/archive/2011/08/26/discuznt_llserver_arch.html

 


Memcached is a distributed memory object cache system developed by danga.com (technical team operating LiveJournal) to reduce database load and improve performance in dynamic systems. For details, refer:

Deep Memcached Analysis
Http://www.cnblogs.com/luluping/archive/2009/01/14/1375456.html

The above solution can solve most of the high access and high concurrency requirements. Due to the special nature of Forum products, the read/write ratio is about, so we should first conduct decompression and Optimization on reading data.

 

Ii. ease the pressure on Web Servers

 

Discuz! NT adopts the following solution to relieve the pressure on Web servers.

 

Discuz! Functions of remote attachment in NT [FTP protocol]

Http://www.cnblogs.com/daizhj/archive/2008/07/28/1254648.html


3. Use SQUID to distribute static File Cache
Use SQUID as a static front-end to deploy or link most of the static files in the Forum to a new HTTP link, thus reducing the stress on the Web server and improving performance.

Discuz! NT static File Cache (SQUID) Solution
Http://www.cnblogs.com/daizhj/archive/2010/06/10/1692758.html


Iii. Server Load balancer

 

Through the above scheme, the Web server is under little pressure, and the performance is also improved. However, if a single Web server still cannot meet the demand for higher concurrent access traffic, Discuz! NT adopts the load balancing solution. LVS + KEEPALIVED and NGINX are used. Related Articles:

 

Discuz! NT Load Balancing solution (HA) --- LVS (Linux Virtual Server)
Http://www.cnblogs.com/daizhj/archive/2010/06/13/1693673.html

 

Discuz! NT Load Balancing solution (HA) --- LVS (Linux Virtual Server)

Http://www.cnblogs.com/daizhj/archive/2010/06/13/1693673.html

 

Discuz! NT Load Balancing Solution

Http://www.cnblogs.com/daizhj/archive/2010/06/24/1667422.html

 

Nginx is used and nginx is used as the front-end Server Load balancer. This is indeed very attractive. It is good to try it out in time.

 

 
Iv. Ease database pressure


In Discuz! In NT, the database, as a data persistence tool, must become a 'bottleneck 'of system performance in the case of frequent concurrent access and heavy load '. Even if the above local cache is used to solve the problem of frequent database access, there will still be a large number of concurrent requests to access dynamic data, the 'read/Write detaching 'scheme is widely used. Related Articles:

 

Discuz! NT database read/write splitting Solution

Http://www.cnblogs.com/daizhj/archive/2010/06/21/dbsnap_master_slave_database.html

Full-text search solution:

Discuz! Full-text search of Sphinx for NT Enterprise Edition (I)

Http://www.cnblogs.com/daizhj/archive/2010/06/28/discuznt_entlib_sphinx_one.html

 

Discuz! Full-text search of Sphinx for NT Enterprise Edition (Part 2)

Http://www.cnblogs.com/daizhj/archive/2010/06/30/discuznt_entlib_sphinx_two.html

 

Processing large data volumes:

Discuz! TokyoCabinet, MongoDB

Http://www.cnblogs.com/daizhj/archive/2010/07/22/1781140.html

 

Okay, the above is Discuz! The NT Enterprise Edition provides a series of solutions to improve performance, which is of great reference value to asp.net Internet applications. Many open-source products used are based on Linux, for example, Memcached, Redis, LLServer, SQUID, NGINX, LVS, and Sphinx. Although some products have Windows versions, their performance is far inferior to that of Linux. In terms of Web applications, in terms of performance and open-source product research, Linux is far ahead of Windows.

Category:. NET

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.