首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在FastCGI下运行时在多个PHP进程之间共享APC缓存?

在FastCGI下运行时,在多个PHP进程之间共享APC缓存可以通过以下方法实现:

  1. 使用共享内存:APC缓存可以使用共享内存来实现多个PHP进程之间的数据共享。在PHP配置文件中,可以设置apc.shm_size来指定共享内存的大小。例如,将其设置为128M:
代码语言:txt
复制
apc.shm_size = 128M
  1. 使用APCu:APCu是APC的一个扩展,可以将缓存数据存储在共享内存中,从而实现多个PHP进程之间的数据共享。在PHP配置文件中,可以设置apcu.shm_size来指定共享内存的大小。例如,将其设置为128M:
代码语言:txt
复制
apcu.shm_size = 128M
  1. 使用Redis或Memcached:APC缓存可以使用Redis或Memcached等缓存服务器来实现多个PHP进程之间的数据共享。在PHP配置文件中,可以设置apc.cache_by_defaultapc.filters来指定哪些数据需要缓存,以及使用哪种缓存服务器。例如,将数据缓存到Redis服务器上:
代码语言:txt
复制
apc.cache_by_default = 1
apc.filters = "apc.filters = -all"
apc.serializer = "redis"
apc.redis_host = "127.0.0.1"
apc.redis_port = 6379
  1. 使用负载均衡:如果多个PHP进程运行在不同的服务器上,可以使用负载均衡来实现缓存数据的共享。例如,可以使用Nginx或HAProxy等负载均衡服务器来实现多个PHP进程之间的缓存数据共享。

推荐的腾讯云相关产品:

以上是如何在FastCGI下运行时在多个PHP进程之间共享APC缓存的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP Opcache的工作原理

首先会载入 ngx_http_fastcgi_module 模块,初始化FastCGI执行环境,实现FastCGI协议请求代理 这里要注意:fastcgi的worker进程(cgi进程),是由PHP-FPM...当然有,: OPCache:前身是Zend Optimizer+ ,是 Zend Server 的一个开源组件;官方出品,强力推荐 APC:Alternative PHP Cache 是一个开放自由的...PHP opcode 缓存组件,用于缓存、优化 PHP 中间代码;已经不更新了不推荐 APCu:是APC的一个分支,共享内存,缓存用户数据,不能缓存opcode,可以配合Opcache 使用 eAccelerate...共享内存:一个单位时间内,只允许一个进程执行写操作,允许多个进程执行读操作; 写操作同时,不阻止读操作,以至于很少有锁死的情况。...而缓存到OPCache中,那么Worker进程之间可以使用 Interned String 缓存的字符串,节省内存。

1.1K21

面试PHP主管岗位的时候,问我PHP的opcache是用来干嘛的?

首先会载入 ngx_http_fastcgi_module 模块,初始化FastCGI执行环境,实现FastCGI协议请求代理这里要注意:fastcgi的worker进程(cgi进程),是由PHP-FPM...当然有,:OPCache:前身是Zend Optimizer+ ,是 Zend Server 的一个开源组件;官方出品,强力推荐APC:Alternative PHP Cache 是一个开放自由的 PHP...opcode 缓存组件,用于缓存、优化 PHP 中间代码;已经不更新了不推荐APCu:是APC的一个分支,共享内存,缓存用户数据,不能缓存opcode,可以配合Opcache 使用eAccelerate...共享内存:一个单位时间内,只允许一个进程执行写操作,允许多个进程执行读操作;写操作同时,不阻止读操作,以至于很少有锁死的情况。...而缓存到OPCache中,那么Worker进程之间可以使用 Interned String 缓存的字符串,节省内存。

97620
  • PHP Opcache的工作原理

    首先会载入 ngx_http_fastcgi_module 模块,初始化FastCGI执行环境,实现FastCGI协议请求代理 这里要注意:fastcgi的worker进程(cgi进程),是由PHP-FPM...PHP opcode 缓存组件,用于缓存、优化 PHP 中间代码;已经不更新了不推荐 APCu:是APC的一个分支,共享内存,缓存用户数据,不能缓存opcode,可以配合Opcache 使用...共享内存:一个单位时间内,只允许一个进程执行写操作,允许多个进程执行读操作; 写操作同时,不阻止读操作,以至于很少有锁死的情况。...而缓存到OPCache中,那么Worker进程之间可以使用 Interned String 缓存的字符串,节省内存。...不要在高峰期发布代码,这是任何情况都要遵守的规则 代码预热,比如使用脚本批量调PHP 访问URL,或者使用OPCache 暴露的API opcache_compile_file() 进行编译缓存

    91320

    PHP Opcache工作原理

    首先会载入 ngx_http_fastcgi_module 模块,初始化FastCGI执行环境,实现FastCGI协议请求代理 这里要注意:fastcgi的worker进程(cgi进程),是由PHP-FPM...当然有,: OPCache:前身是Zend Optimizer+ ,是 Zend Server 的一个开源组件;官方出品,强力推荐 APC:Alternative PHP Cache 是一个开放自由的...PHP opcode 缓存组件,用于缓存、优化 PHP 中间代码;已经不更新了不推荐 APCu:是APC的一个分支,共享内存,缓存用户数据,不能缓存opcode,可以配合Opcache 使用 eAccelerate...共享内存:一个单位时间内,只允许一个进程执行写操作,允许多个进程执行读操作; 写操作同时,不阻止读操作,以至于很少有锁死的情况。...而缓存到OPCache中,那么Worker进程之间可以使用 Interned String 缓存的字符串,节省内存。

    1.5K21

    phpfpm的作用和用法

    PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器,对于PHP 5.3.3之前的php来说,是一个补丁包 ,旨在将FastCGI进程管理整合进...PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。....start 启动phpfastcgi进程 –stop 强制终止phpfastcgi进程 –quit 平滑终止phpfastcgi进程 –restart 重启phpfastcgi进程 –reload...重新平滑加载phpphp.ini –logrotate 重新启用log文件 php-fpm 可以和 ZendPlatform、xcache、eAccelerator、APC 等的优化器一起用吗?...php-fpm 的架构和任何一种用于高速 opcode 缓存共享内存都适用。

    90421

    PHP相关概念及配置

    四、php的加速器 基于PHP的特殊扩展机制opcode缓存扩展也可以将opcode缓存php共享内存中,从而可以让同一段代码的后续重复执行时跳过编译阶段以提高性能。...常见的php加速器有: 1、APC (Alternative PHP Cache) 遵循PHP License的开源框架,PHP opcode缓存加速器,目前的版本不适用于PHP 5.4。...2、ext —— 官方的扩展目录,包括了绝大多数PHP的函数的定义和实现,array系列,pdo系列,spl系列等函数的实现。 个人开发的扩展测试时也可以放到这个目录,以方便测试等。...200 php 3000 :static content prefork,200 每个php进程和httpd进程 http,stateless 无状态的 apache, DSO:动态共享模块 dynamic...Fastcgi: fPM:fastcgi php MOdules 动态和静态的处理进程分离: 安装php的服务器,事先生成空闲进程等待Apache的请求。php就有自我管理的能力。

    865130

    CentOS 7.5 + PHP 5.6.36 + Nginx 1.14.0 配置笔记

    # gcc:GNU 编译器套装 # gcc-c++:GCC 的 C++ 支持 # autoconf:sh制作供编译、安装和打包软件的配置脚本的工具 # libjpeg-turbo-static:处理...,安装 apcu # apc 包含 opcode 缓存和 KV 数据缓存 # PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展,所以不需要安装 apc # apcu 只包含 KV 数据缓存...php-fpm.log ; 错误级别 log_level = error ; 如果子进程设定的时间内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动 emergency_restart_threshold...127.0.0.1:9000; fastcgi_index index.php; fastcgi_param HTTPS on; include fastcgi.conf; }...> ocp.php,https://gist.github.com/ck-on/4959032 apc.php,https://github.com/krakjoe/apcu/blob/master/apc.php

    1.5K80

    php自带的缓存扩展-APCu

    很多业务中,咱们都会碰到需要缓存数据的时候,而缓存方案有很多,也可以借助redis,memcache等第三方来进行缓存 本文主要讲解APCu扩展的缓存 扩展下载地址:http://pecl.php.net.../package/APCu php.ini需要配置: extension=php_apcu.dll apc.enabled=1 apc.shm_size=32M apc.enable_cli=1...具体配置可查看http://php.net/manual/zh/apcu.configuration.php 函数: apcu_add -数据存储中缓存的新变 apcu_cache_info -检索缓存的信息从...(必须数值型) apcu_sma_info -检索高招共享内存分配信息 apcu_store -数据存储区中的缓存变量 具体说明可查看:http://php.net/manual/zh/book.apcu.php...其他函数可自测 注意:php-cli模式运行不能保存到下次运行 FastCGI模式重启后将会清除缓存 本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn 上一篇

    2.1K20

    深入理解phpapc

    .apc_add(string key,mixd var [, int ttl]) 缓存一个变量到数据存储(只变量之前没有被存储的情况)8.apc_exists(mix keys) 检查是否有一个或者多个...不过apc开发者说pecl hidef性能更加,抛弃define,它是低效的6.apc_store,对于系统设置等PHP变量,生命周期是整个应用(从httpd守护进程到httpd守护进程关闭),使用apc...apc.slam_defense = 0;sys(反对使用该指令,建议该用apc.write_lock指令); 非常繁忙的服务器上,无论是启动服务还是修改文件,; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件...; 这个指令用于设置进程处理未被缓存的文件时跳过缓存步骤的百分率。; 比如设为75表示遇到未被缓存的文件时有75%的概率不进行缓存,从而减少碰撞几率。; 鼓励设为0 来禁用这个特性。...apc.write_lock = on;sys; 是否启用写入锁。; 非常繁忙的服务器上,无论是启动服务还是修改文件,; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。

    89040

    2021年最新PHP 面试、笔试题汇总(二)

    信号: 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生. 信号量: 信号量是一个计数器,可以用来控制多个线程对共享资源的访问....,它不是用于交换大批数据,而用于多线程之间的同步.它常作为一种锁机制,防止某进程访问资源时其它进程也访问该资源.因此,主要作为进程间以及同一个进程内不同线程之间的同步手段....共享内存: 共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问.共享内存是最快的IPC(进程间通信)方式,它是针对其它进程间通信方式运行效率低而专门设计的.它往往与其他通信机制...1)、FastCGI进程管理器php-fpm自身初始化,启动主进程php-fpm和启动start_servers个CGI 子进程。主进程php-fpm主要是管理fastcgi进程,监听9000端口。...3)FastCGI进程管理器PHP-FPM选择并连接到一个子进程CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI进程

    44030

    PHP无锁内存nosql---Yac的实战

    无锁内存nosql---Yac的实战   最近在工作使用了yac,所以比较了Memcache和Yac的高并发读写性能测试,发现Yac要比Memcache快很多(这里没有比较Yac和Apc的性能情况,...不过据说Yac要比Apc快很多,Apc比Memcache快一倍)。   ...Yac的应用场景 让PHP进程之间共享一些简单的数据 高效地缓存一些页面结果 Yac的限制 缓存的键长度不能超过48字节,太长的话可以md5结果后再使用 Value的最大长度不能超过64M,压缩后的长度不能超过...小结   Yac很高效,但还是要注意一些方面,由于Yac是作为PHP的extension形式存在的,所以Yac只能在单机的多个进程之间共享缓存的,这一点一定要注意,一般用作第1级缓存。...而在真实的生产环境,由于服务器有很多,并且有可能是作为分布式集群形式存在,那个时候使用Memcache缓存服务器集群还是更好的选择或者作为第2级缓存(或者使用其他分布式缓存数据库,比如Redis等NoSQL

    1.3K30

    2021年最新PHP 面试、笔试题汇总(二)

    信号: 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生. 信号量: 信号量是一个计数器,可以用来控制多个线程对共享资源的访问....,它不是用于交换大批数据,而用于多线程之间的同步.它常作为一种锁机制,防止某进程访问资源时其它进程也访问该资源.因此,主要作为进程间以及同一个进程内不同线程之间的同步手段....共享内存: 共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问.共享内存是最快的IPC(进程间通信)方式,它是针对其它进程间通信方式运行效率低而专门设计的.它往往与其他通信机制...1)、FastCGI进程管理器php-fpm自身初始化,启动主进程php-fpm和启动start_servers个CGI 子进程。主进程php-fpm主要是管理fastcgi进程,监听9000端口。...3)FastCGI进程管理器PHP-FPM选择并连接到一个子进程CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI进程

    38240

    年前的最后一次面试题总结

    static(静态) :表示fpm运行时直接fork出pm.max_chindren个worker进程。...这种“每个请求一个新进程”的模型使得CGI程序非常容易实现,但效率较差,难以扩展。高负载情况进程创建和销毁进程的开销变得很大。...此外,由于地址空间无法共享,CGI进程模型限制了资源重用方法,重用数据库连接、内存缓存等。...能简单的描述一Nginx与PHP通信的基本流程吗? WebServer启动时,载入FastCGI管理器。 FastCGI会完成初始化,启动多个CGI解释器。...说说php的同步模式与swoole的携程之间的区别? 首先,Swoole 只能运行在命令行(Cli)模式,所以我们开发调试都是使用命令行,而不是 php-fpm/apache 等。

    1.4K20

    使用 NextCloud + COS 搭建个人网盘

    虽然 PHP、MySQL 及相关的服务器软件都有 Windows 版本,但是根据 NextCloud 社区的反馈, Windows 运行 NextCloud 服务端会存在文字编码等问题,因此官方宣称不支持...PHP 可以使用 OPcache 提升性能,而 NextCloud 服务端支持使用 APCu 内存缓存进一步提升性能,因此规格的选择上,建议选择较大的内存。...下面从几个维度讲解一两者之间的区别。 1....PHP 的运行特性限制了基于 PHP 的程序无法内部维持一个独立的工作进程或线程,因此类似后台任务的场景需要由外部主动调用对应的 PHP 程序来执行。...那么还需要修改 PHPapc 配置:执行 vim /etc/php.d/40-apcu.ini,打开 PHP APCu 的配置文件,将 ;apc.enable_cli=0 修改为 apc.enable_cli

    4.5K61

    php进程单线程之php-cgi、php-fpm

    php,perl,tcl等。cgi是一个web server与cgi程序(这里可以理解为是php解释器)之间进行数据传输的协议,保证了传递的是标准数据。 2....2.2 FastCGI的工作原理 Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(...我是这么理解的:第一:CGI解释器(php-cgi)保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等,也就是fast-cgi层面是管理着多个CGI...但多线程和并发没有直接关系,多线程只是代码被运行时同一时间同时执行多个线程任务,来提高服务器CPU的利用率,提高代码效率。...缓存数据库的使用,如何选择缓存数据库?是Redis还是Memcache? 如何设计缓存机制? 8. 数据通信问题,如何选择通信方式?是使用TCP还是UDP,是使用长连接还是短连接?NIO还是BIO?

    2.2K31

    Apc缓存Opcode

    一旦启用了APC功能,则会缓存Opcodes到共享内存。...系统缓存: 是自动使用的,是指APCPHP文件源码的编译结果缓存起来,然后再次调用时先对比时间标记。如果未过期,则使用缓存代码运行。...默认缓存 3600s(一小时).但是这样仍会浪费大量CPU时间.因此可以php.ini中设置system缓存为永不过期(apc.ttl=0).不过如果这样设置,改运php代码后需要restart一您的...web服务器(比如apache…).目前对APC的性能测试一般指的是这一层cache; 用户数据缓存:由用户在编写php代码时用apc_store和apc_fetch函数操作读取、写入的.如果量不大的话我建议可以使用一...(10万次21700ms) 8、php5.5之APC APCPHP5.4及以下版本是性能最好的代码缓存。不过PHP升级到5.5及以上后,APC不再有效。需要使用Zend的OpCache扩展。

    59520

    PHP技术栈

    之类的影响性能的配置),知道mod_php /fastcgi的区别;PHP方面已经能够熟练各种基础技术,还包括各种深入些的PHP,包括对PHP面向对象的深入理解/SPL/语法层面的特殊特 性比如反射之类的...之类的);对php的 工作机制比较了解,包括php-fpm工作机制(比如php-fpm不同配置机器下面开启进程数量计算以及原理),对zend引擎有基本熟悉 (vm/gc/stream处理),阅读过基本的.../rb-tree/skiplist/lsm-tree/trie-tree等)方便在特殊工作中需 求;系统编程方面,熟悉多进程、多线程编程;多进程情况下面了解大部分多进程之间的通信方式,能够灵活选择通信方式...(共享内存/信号量/管道等);多线 程编程能够良好的解决锁冲突问题,并且能够进行多线程程序的开发调试工作;同时对网络编程比较熟悉,了解多进程模型/多线程模型/异步网络IO模型的差别 和选型,熟悉不同异步网络...学习不同的语言主要是提升自己的视野和解决问题手段的差异,比如会了解除了进程/线程,还有轻量级协程;比如在跨机器通信场景 面,Erlang的解决方案简单的惊人;比如在不想选择C/C++的情况,还有类似高效的

    2.1K30

    PHP程序员应该掌握哪些技术?

    之类的影响性能的配置),知道mod_php /fastcgi的区别;PHP方面已经能够熟练各种基础技术,还包括各种深入些的PHP,包括对PHP面向对象的深入理解/SPL/语法层面的特殊特 性比如反射之类的...之类的);对php的 工作机制比较了解,包括php-fpm工作机制(比如php-fpm不同配置机器下面开启进程数量计算以及原理),对zend引擎有基本熟悉 (vm/gc/stream处理),阅读过基本的.../rb-tree/skiplist/lsm-tree/trie-tree等)方便在特殊工作中需 求;系统编程方面,熟悉多进程、多线程编程;多进程情况下面了解大部分多进程之间的通信方式,能够灵活选择通信方式...(共享内存/信号量/管道等);多线 程编程能够良好的解决锁冲突问题,并且能够进行多线程程序的开发调试工作;同时对网络编程比较熟悉,了解多进程模型/多线程模型/异步网络IO模型的差别 和选型,熟悉不同异步网络...学习不同的语言主要是提升自己的视野和解决问题手段的差异,比如会了解除了进程/线程,还有轻量级协程;比如在跨机器通信场景 面,Erlang的解决方案简单的惊人;比如在不想选择C/C++的情况,还有类似高效的

    65320
    领券