本文主要讲述高并发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