c10k问题及其解决方案

本文主要讲述高并发http应用中的c10k瓶颈问题:在不少服务器初始状态下,没法服务1w左右的并发链接。这与每次服务的资源消耗、服务器的硬件配置当然有关,但不少时候是被linux的默认配置以及软件stack选型所限制。本文主要分析c10k问题的产生缘由、限制因素以及解决方案。html

若是硬件配置没有问题,性能较高的服务器上,产生c10k问题,不少状况下与配置和软件栈相关:最大文件打开数、socket 端口数、IO基础栈。mysql

为何呢?linux

 

 

若是依然存在性能问题,能够考虑优化程序的架构:好比,网络瓶颈:cdn ,客户端缓存,服务器端改为api + angular,这样能够缓存页面。多个服务器 + session-redis + memcached-mysqlredis

若是依然存在性能问题,须要考虑优化Linux服务器的性能,参见另一篇博客: Linux服务器性能调优方案。sql

若是是怀疑mysql的问题,参见另一篇博客: mysql性能调优方案。shell

 

参考:api

1. http://blog.sae.sina.com.cn/archives/1988缓存

2. http://coolshell.cn/articles/7490.html服务器

3. ulimit限制之nproc问题: http://blog.yufeng.info/archives/2568网络

4. 检查丢包利器dropwatch: http://blog.yufeng.info/archives/2497

5. ulimit问题及其影响: http://blog.yufeng.info/archives/1380

相关文章
相关标签/搜索