• magento 由于Httpd进程增多,导致CPU占用100%问题


    由于Httpd进程增多,导致CPU占用100%问题 magento for version 2.2.3

    前些天一直导致CPU无法控制的增多问题。

    根据报错我设置了如下内容:

    • 【Mysql】mysql.my.cnf 设置如下;
      #InnoDB需要innodb buffer pool中处理缓存。所以非常需要有足够的InnoDB buffer pool空间。
      innodb_buffer_pool_size = 2G
    • 【PHP】php..htaccess 设置如下;
      //当发生  Fatal error: Allowed memory size of 33554432 bytes 时,设置如下
      php_value memory_limit 2G
    • 【PHP】php./app/etc/.env.php 设置如下;
      //开发模式session为db存储;
        'session' =>
            array (
                'save' => 'db',
            ),
      
      //改在默认的file或redis
      ////--file
      'session' =>
         array (
           'save' => 'files',
           'save_path' => '/var/www/session',
      ),
      ////--redis
        'session' =>
            array (
                'save' => 'redis',
                'redis' =>
                    array (
                        'host' => '127.0.0.1',
                        'port' => '6379',
                        'password' => '',
                        'timeout' => '2.5',
                        'persistent_identifier' => '',
                        'database' => '0',
                        'compression_threshold' => '2048',
                        'compression_library' => 'gzip',
                        'log_level' => '1',
                        'max_concurrency' => '6',
                        'break_after_frontend' => '5',
                        'break_after_adminhtml' => '30',
                        'first_lifetime' => '600',
                        'bot_first_lifetime' => '60',
                        'bot_lifetime' => '7200',
                        'disable_locking' => '0',
                        'min_lifetime' => '60',
                        'max_lifetime' => '2592000'
                    )
            ),
    • 【Apache】php.htaccess 目录设置如下;(它建立在apache 模式为woker MPM)
      #StartServers
      #服务器启动时建立的子进程数,默认值是”3″。
      #MaxClients
      #允许同时伺服的最大接入请求数量.
      #MaxClients
      #任何超过MaxClients限制的请求都将进入等候队列
      #MinSpareThreads
      #最小空闲线程数,默认值是”75″
      #MaxSpareThreads
      #设置最大空闲线程数。默认值是”250″
      #ThreadsPerChild
      #每个子进程建立的常驻的执行线程数。默认值是25
      #MaxRequestsPerChild
      #设置每个子进程在其生存期内允许伺服的最大请求数量
      <IfModule worker.c>
      ThreadLimit         100
      ServerLimit         256
      StartServers         8
      MaxClients         1200
      MinSpareThreads     100
      MaxSpareThreads     300
      ThreadsPerChild     100
      MaxRequestsPerChild  0
      </IfModule>
      View Code

      prefork模式使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。

      worker模式使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器 上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。

    • 【Corn】使用过 alekseon/module-cleanrunningjobs 管理 Cron;
    • 【Toolbar】开启 PROFILER ;
      $_SERVER['MAGE_PROFILER']=1;
      //或是 $_SERVER['MAGE_PROFILER'] = 'html';

      用于分析错误的函数;

    • 【Toolbar】使用了 mirasvit/module-profiler 来调试查看;
    • 【Toolbar】使用了 vpietri/adm-quickdevbar  来调试查看;
    • -其它

    以上方案,只供参考。遇到问题请多参考Exception.php/debug.php 和 Apache/nginx/php-fpm/redis/mysql/other;

    更多资料请见:https://www.cnblogs.com/q1104460935/p/9220913.html

  • 相关阅读:
    链表的Java实现
    java知识点
    java知识点
    Android基础知识总结
    Android基础知识总结
    路由知识之ip route 命令中的疑惑
    Integer与int的种种比较
    求二叉树的宽度C语言版
    求二叉树的宽度C语言版
    二叉树的建立与递归遍历C语言版
  • 原文地址:https://www.cnblogs.com/q1104460935/p/10791070.html
Copyright © 2020-2023  润新知