• 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

  • 相关阅读:
    学习笔记Jmail收发邮件
    ModalPopup
    学习笔记:UpdatePanel控件
    转AjaxControlToolkit的安装与使用详解
    转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take
    转Global.asax文件
    转<%%>、<%=%>、<%$%>、<%@%>的区别
    C++文件包含处理—#include
    GISer学习之道(转载)
    OSG中的示例程序简介
  • 原文地址:https://www.cnblogs.com/ToDoToTry/p/4444027.html
Copyright © 2020-2023  润新知