• 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

  • 相关阅读:
    Mac下配置phpredis扩展
    PHP 面向对象中常见关键字使用(final、static、const和instanceof)
    PHP null常量和null字节的区别
    PHP关于时区问题
    C++指针的操作和运算(转)
    浅谈C++中指针和引用的区别者之间的区别和用法(转)
    rails Rendering Text 用法
    MySQL“慢SQL”定位
    数组循环移位问题
    core文件问题
  • 原文地址:https://www.cnblogs.com/ToDoToTry/p/4444027.html
Copyright © 2020-2023  润新知