zoukankan      html  css  js  c++  java
  • c10k问题及其解决方案

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

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

    为什么呢?

     

    如果依然存在性能问题,可以考虑优化程序的架构:比如,网络瓶颈:cdn ,客户端缓存,服务器端改成api + angular,这样可以缓存页面。多个服务器 + session-redis + memcached-mysql

    如果依然存在性能问题,需要考虑优化Linux服务器的性能,参见另外一篇博客: Linux服务器性能调优方案。

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

    参考:

    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

  • 相关阅读:
    [oracle 使用(1)] win7/10 下Oracle10g的安装与卸载
    [原创]利用爬虫技术获取网页数据,以及想要的指定数据
    [mysql使用(1)] 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64
    aop 常见的问题
    Git技巧:右键菜单怎么去除?
    jrebel激活
    python与mysql连接
    linux下mysql的安装
    Linux下jdk和tomcat安装
    Lotto
  • 原文地址:https://www.cnblogs.com/ToDoToTry/p/4444027.html
Copyright © 2011-2022 走看看