问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP Redis是使用connect还是pconnect

发布网友 发布时间:2022-05-07 01:59

我来回答

3个回答

懂视网 时间:2022-05-07 06:20

redis监控状态connect命令 1、redis-benchmark redis基准信息,redis服务器性能检测 redis-benchmark -h localhost -p 6379 -c 100 -n 100000 100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 Java代码 [root@Architect redi

redis监控状态connect命令

1、redis-benchmark

redis基准信息,redis服务器性能检测

redis-benchmark -h localhost -p 6379 -c 100 -n 100000

100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能

Java代码

[root@Architect redis-1.2.6]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000

====== PING ======

10001 requests completed in 0.41 seconds

50 parallel clients

3 bytes payload

keep alive: 1

0.01% <= 0 milliseconds

23.09% <= 1 milliseconds

85.82% <= 2 milliseconds

95.60% <= 3 milliseconds

97.20% <= 4 milliseconds

97.96% <= 5 milliseconds

98.83% <= 6 milliseconds

99.41% <= 7 milliseconds

99.70% <= 8 milliseconds

99.99% <= 9 milliseconds

100.00% <= 12 milliseconds

24274.27 requests per second

2、redis-cli

redis-cli -h localhost -p 6380 monitor

Dump all the received requests in real time;

监控host为localhost,端口为6380,redis的连接及读写操作

Java代码

[root@Architect redis-1.2.6]# redis-cli -h localhost -p 6380 monitor

+OK

+1289800615.808225 "monitor"

+1289800615.839079 "GET" "name"

+1289800615.853694 "PING"

+1289800615.853783 "PING"

+1289800615.854646 "PING"

+1289800615.854974 "PING"

+1289800615.857693 "PING"

+1289800615.866862 "PING"

+1289800615.871944 "PING"

redis-cli -h localhost -p 6380 info

Provide information and statistics about the server ;

提供host为localhost,端口为6380,redis服务的统计信息

Java代码

[root@Architect redis-1.2.6]# redis-cli -h localhost -p 6380 info

redis_version:2.0.4

redis_git_sha1:00000000

redis_git_dirty:0

arch_bits:32

multiplexing_api:epoll

process_id:21990

uptime_in_seconds:490580

uptime_in_days:5

connected_clients:103

connected_slaves:0

blocked_clients:0

used_memory:4453240

used_memory_human:4.25M

changes_since_last_save:200

bgsave_in_progress:0

last_save_time:1290394640

bgrewriteaof_in_progress:0

total_connections_received:809

total_commands_processed:44094018

expired_keys:0

hash_max_zipmap_entries:64

hash_max_zipmap_value:512

pubsub_channels:0

pubsub_patterns:0

vm_enabled:0

role:slave

master_host:localhost

master_port:6379

master_link_status:up

master_last_io_seconds_ago:18

db0:keys=1319,expires=0

3、redis-stat

redis-stat host localhost port 6380 overview

Print general information about a Redis instance;

实时打印出host为localhost,端口为6380,redis实例的总体信息

Java代码

[root@Architect redis-1.2.6]# redis-stat port 6380 overview

------- data ------ ------------ load ----------------------------- - childs -

keys used-mem clients requests connections

1319 5.37M 103 44108021 (+44108021) 810

1319 5.38M 103 44108124 (+103) 810

1319 5.38M 103 44108225 (+101) 810

1319 5.39M 103 44108326 (+101) 810

1319 5.40M 103 44108427 (+101) 810

1319 5.41M 103 44108528 (+101) 810

redis-stat host localhost port 6380 overview

Measure Redis server latency;

输出host为localhost,端口为6380,redis服务中每个请求的响应时长

Java代码

[root@Architect redis-1.2.6]# redis-stat port 6380 latency

1: 0.16 ms

2: 0.11 ms

3: 0.15 ms

4: 0.11 ms

5: 0.18 ms

6: 0.14 ms

热心网友 时间:2022-05-07 03:28

首先先介绍下connect和pconnect的区别。
connect:脚本结束之后连接就释放了。

pconnect:脚本结束之后连接不释放,连接保持在php-fpm进程中。
所以使用pconnect代替connect,可以减少频繁建立redis连接的消耗。

热心网友 时间:2022-05-07 04:46

connect和pconnect的区别。
connect:脚本结束之后连接就释放了。
pconnect:脚本结束之后连接不释放,连接保持在php-fpm进程中。
为了验证这点,可以写个脚本测试一下。
其中服务器是nginx,php-fpm采用静态方式,因为动态方式下php-fpm的进程数量可能会变化,所以为了简单我们采用静态方式启动。
其中php-fpm的数量我们设置成5个。
下面的脚本测试使用connect的情况,让脚本连接到redis,然后休眠10s。
<?php
$app = new App ();
$app->get ( '/', function () {
$redis = new Redis ();
$redis->connect ( '127.0.0.1' );
sleep(10);
echo 'Hello World';
// $redis->close ();
} );
return $app;
然后运行5个请求:
curl http://localhost:8081/
这时候可以看下redis中的connect_clients:
[lunweiwei@stefanie ~]$ redis-cli info | grep connected_clients
connected_clients:14
等脚本运行完毕之后再看一下connect_clients:
[lunweiwei@stefanie ~]$ redis-cli info | grep connected_clients
connected_clients:9
之前建立的redis连接资源被释放了。
修改上面的代码,把connect改成pconnect:
<?php
$app = new App ();
$app->get ( '/', function () {
$redis = new Redis ();
$redis->pconnect ( '127.0.0.1' );
sleep(10);
echo 'Hello World';
// $redis->close ();
} );
return $app;
和上面同样的操作,发现脚本脚本运行结束后connected_clients还是14:
[lunweiwei@stefanie ~]$ redis-cli info | grep connected_clients
connected_clients:14
这说明脚本运行结束后,redis连接资源并没有释放,而是由php-fpm进程保持(可以通过 kill php-fpm看到,当脚本停止运行后连接释放)
所以使用pconnect代替connect,可以减少频繁建立redis连接的消耗。
另外,使用pconnect还可以减少同一个进程(php-fpm)频繁建立连接的消耗,可以通过以下代码验证:
使用connect的情况:
<?php
$redis1 = new Redis();
$redis1->connect('127.0.0.1');
sleep(5);
$redis2 = new Redis();
$redis2->connect('127.0.0.1');
sleep(5);
//$redis->close();
//$redis2->close();
运行上述脚本,会发现connect_clients会增加2个。
使用pconnect的情况:
<?php
$redis1 = new Redis();
$redis1->pconnect('127.0.0.1');
sleep(5);
$redis2 = new Redis();
$redis2->pconnect('127.0.0.1');
sleep(5);
//$redis->close();
//$redis2->close();
而运行上述代码,connect_clients只会增加1个,这说明在一个进程中,pconnect是可以保持redis连接状态提供复用的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 我的买的箱子海关锁的,最开始关不了,然后强行关了,就打不开了,怎么办 ? LOL 三相之力 和 巫妖之祸 叠加么? LOL卡萨丁出巫妖之祸是不是很合适 lol虚空恐惧出巫妖之祸值得吗? lol现在天使出装出什么,巫妖之祸有没有用 为什么英雄联盟光辉女郎拉克丝还要出巫妖之祸?求解释 英雄联盟巫妖之祸 英雄联盟什么样的英雄适合出巫妖之祸? lol为什么很少法师出巫妖之祸啊?狐狸,黑女,火男配合这东西应该很有输出啊! LOL三项和巫妖一起出,被动“咒刃”的触发顺序是什么样的? lol巫妖之祸 lol巫妖之祸可以触发符能回声吗 英雄联盟“巫妖之祸”适合什么类型的英雄? LOL巫妖之祸适合什么样的AP英雄出? lol,卡牌大师的w技能,选牌时触发巫妖之祸,扔出去的w是不是加上了巫妖之祸? LOL酒桶出巫妖之祸用处大吗? 一个IT培训班说是包就业,结果工作环境差薪资也低,根本不靠谱,想换一家学,有就业方面靠谱的么? 高中生it就业培训班靠谱吗? 挂面开封放了4个月还能吃吗 袋子装的挂面拆开袋子太久还能不能吃 自然人可以代开农产品免税发票吗 农业银行外汇交易开户费用高吗 关于redis的pconnect和connect使用场景有什么不同 生核桃煮鸡蛋有什么功效 不锈钢喷砂工艺起什么作用? 什么是喷砂加工 求教您一个问题,不锈钢表面处理,关于喷砂这个工艺,在喷砂结束后,还需要做其他处理吗 304不锈钢表面喷砂效果是怎么样 不锈钢喷砂处理是什么,在表面处理的作用是什么 不锈钢表面喷砂处理 redis connect econnrefused怎么解决 要一张女生微美头像,侧面的,谢谢。 6s屏幕设置常亮的这个自动锁定改不了。 2016大众POLO1.4L自动风尚价格多少合适 大众2016款polo1.4l手动的车有哪几种颜色的车 2016款大众polo1.4自动风尚版行驶9万公里现在值多少钱 polo2016款1.4够用吗 2016款Polo1.4手动加了4升机油 有什么影响吗 大众新桑塔纳2016款1.4手动低配和polo2016款1.4手动低配哪个好? 大众polo2016自动风尚1.4多少钱。落地价