phpts以及nts版本到底该怎么选择
二、 简介
TS(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染php以ISAPI方式加载的时候选择这个版本,php以ISAPI方式加载的时候选择这个版本.
NTS(None-Thread Safe)即非线程安全,就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的是脏数据php以fast-cgi方式运行的时候选择这个版本,具有更好的性能;
ISAPI(Internet Server Application Programming Interface), 通常是指被http服务器所加载,以服务器的模块形式运行,由微 软提出,故只能在win平台上运行,如win下的apache,iis[用fast cgi 方式工作更稳定],而linux上php 则以 Apache模块(常用方式)或者php-fpm(该方式更适合于NGINX+PHP 运行)的方式运行。
CGI(Common Gateway Interface):HTTP服务器与客户端机器上的程序进行“交谈”的一种工具,简而言之,cig就是一种 后台语言,可以与服务器进行通讯。此时的php是作为一个独立的程序运行的,特点就是耗费内存。
FAST-CGI是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一个新进程。这种方式 是与语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较 高的性能。
三、选择
通常win下 PHP + Apache 组合,以 ISAPI 的方式运行。
而linux下通常分为2种:
Apache + PHP,PHP一般作为Apache 的模块进行运行;
Nginx + PHP ,以 php的Fast-cgi的方式,即php-fpm的方式运行,该方式对高并发、高负载有良好的性能体现,因此很多网站采用该方式进行环境的搭建。
Nginx 较Apache 的配置要少很多,因此人为出错的概率要少一点,但也因此 Apache 的 稳定性要比Nginx 高。
四、 总结
以 ISAPI 方式运行就用 TS 线程安全版
以 FAST-CGI 或 PHP-FPM 方式运行就用NTS 非线程安全版
通常 Windows 下 Apache + PHP 选TS ,IIS(fast-cgi) + PHP 选TNS
通常Linux 下 Apache + PHP 选TS,Nginx + PHP 选TNS
phpts以及nts版本到底该怎么选择相关推荐
- php中ts和nts版本,PHP中ts和nts版本 - vc6和vc9编译版本的区别
VC6:legacy Visual Studio 6 compiler,就是使用这个编译器编译的. VC9:Visual Studio 2008 compiler,就是用微软的VS编辑器编译的. 由于 ...
- “进大厂大半年,每个月都想走!”大公司 VS 小公司到底该如何选择?
前言 江湖风云不断,有人吐槽阿里996,也有人吐槽华为狼性文化,这不,就看到有腾讯员工吐槽"进腾讯大半年,每个月都想走!" "和我一样,进去一周就想走".&qu ...
- PP实施经验分享(21)——(ECC版本)生产版本\BOM\工艺路线选择(涉及批量大小应用)
PP实施经验分享(21)--(ECC版本)生产版本\BOM\工艺路线选择(涉及批量大小应用) SAP ECC版本系统是不进行强制生产版本选择的,这点也是和S4差别很大的地方:这里我结合自己在日常测试以 ...
- 计算机专业考研有必要二战吗,我,到底要不要选择二战考研?
原标题:我,到底要不要选择二战考研? 不久前走出考研考场的同学们,大部分人已经对自己的初试有了初步估分,虽然有人欢喜也有人忧...... 不论你是成功上岸,还是选择二战或就业,小编都希望大家一定要等 ...
- PHP TS 和 NTS 版本选择
在PHP 开发和生产环境搭建过程中,需要安装PHP语言解析器.官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版,有时后我们开发环境和实际生产的环境有所不同,因此也需要选择安装对应的 ...
- Mac?Windows?游戏本?大学生到底该如何选择适合自己的笔记本
文章目录 前言 一.分析自己的定位和需求 性能强劲?游戏本 方便实用?轻薄本 iPad怎么样? 所以我该选哪一个 二.游戏本如何选? 参数和配置 选Intel还是AMD? 三.轻薄本Windows还是 ...
- 2020黑群晖最稳定版本_80%用户的选择!win10最稳定好用的版本更新,你敢升级吗?...
说到win10系统,用户给它的标签无非是"自动更新.更新频率高.多Bug"等等.但随着微软停止对win7的全部支持,越来越多的用户迫不得已将系统升级为win10.都说win10系统 ...
- Quartus II 现有各版本之差异(方便选择), 以及 破解文件
参考了: http://www.cnblogs.com/crazybingo/archive/2011/07/26/2117105.html <Quartus II 11.0 套件安装指南> ...
- JDK下载应该选择哪个版本?教你选择最好的JDK版本
我们在使用Java编程的时候,通常绕不开Java JDK使用.所以,我们下载Java JDK的时候,就会面临着诸多选择.不仅要在多家知名厂商实现的JDK中做出选择,还要在特定JDK中选择哪个迭代版本. ...
最新文章
- 视频导切台RGBlink 控制软件下载与测试
- Docker现已加入苹果M1“豪华午餐”,程序员换新Mac的理由又多了一条
- 超过 150 个最佳机器学习,NLP 和 Python教程
- 博客园出现了奇怪的cookie问题
- 孩子大了真是不好管了
- 转载:实用 FRIDA 进阶 --- objection :内存漫游、hook anywhere、抓包
- 路由器NAT负载均衡实验过程详解
- ASP.NET MVC实践系列11-FCKEditor和CKEditor的使用
- 万创帮逆向解析,让你也能体验技术变现【Python爬虫实战系列之万创帮闲置资源整合逆向】
- 怎样把图片转换成线条图?
- Visio如何画箭头
- python 灰度图转rgb rgb转灰度之间的变化
- 情感分析之PMI互信息
- 黑马Vue.Js项目实战(完整)
- chap0x10 实战fail2ban防止Basic认证暴力破解和SSH口令爆破
- 服务器做系统怎么规划,如何做系统容量规划 | 知行天下
- web期末作业设计网页 HTML+CSS+JS企业网站制作(画家企业8页)
- [递归+访问者模式]实现树状结构的节点遍历处理
- 2020年度 个人随笔
- un8.22:前端页面详情页面(代码篇)。
热门文章
- Linux命令001:find、xargs、grep查找内容
- 用c#开发微信 (15) 微活动 1 大转盘
- 微信无感知检测单项好友【WeTool 免费版】【微信如何检测单向好友?】
- echarts3 使用((绘制各种图表,地图))
- 在Redmond见到我的偶像Anders
- 用Java程序模拟实现新冠病毒传染
- Leetcode每日一题——377.组合总和Ⅳ。完全背包推导。dp数组
- 1dB压缩点和三阶交调点、相位差与延时
- python抽奖简单小程序游戏_用Python做个年会抽奖小程序吧
- LabVIEW视觉采集软件(VAS)、视觉生成器(VB)和视觉开发模块(VDM)之间有什么不同