E:\phpStudy\Apache\bin>ab-c1000-n10000http://localhost/mysql.phpThisisApacheBench,Version2.3<$Revision:1604373$>Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeustech.net/LicensedtoTheApacheSoftwareFoundation,http://www.apache.org/Benchmarkinglocalhost(bepatient)Completed1000requestsCompleted2000requestsCompleted3000requestsCompleted4000requestsCompleted5000requestsCompleted6000requestsCompleted7000requestsCompleted8000requestsCompleted9000requestsCompleted10000requestsFinished10000requestsServerSoftware:Apache/2.4.10ServerHostname:localhostServerPort:80DocumentPath:/mysql.phpDocumentLength:242bytesConcurrencyLevel:1000Timetakenfortests:39.351secondsCompleterequests:10000Failedrequests:9(Connect:9,Receive:0,Length:0,Exceptions:0)Totaltransferred:4440000bytesHTMLtransferred:2420000bytesRequestspersecond:254.12[#/sec](mean)Timeperrequest:3935.125[ms](mean)Timeperrequest:3.935[ms](mean,acrossallconcurrentrequests)Transferrate:110.19[Kbytes/sec]received==========================以上的MYSQL,以下是REDIS===============================E:\phpStudy\Apache\bin>ab-c1000-n10000http://localhost/redis.phpThisisApacheBench,Version2.3<$Revision:1604373$>Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeustech.net/LicensedtoTheApacheSoftwareFoundation,http://www.apache.org/Benchmarkinglocalhost(bepatient)Completed1000requestsTestabortedafter10failuresapr_socket_connect():由于目标计算机积极拒绝,无法连接。(730061)Totalof1714requestscompleted
MYSQL可以跑,REDIS很快就挂掉了,下面是代码
$host='mysql:host=127.0.0.1;dbname=test';$user='root';$pass='root';$pdo=newPDO($host,$user,$pass);var_dump($pdo->query('select*fromtablewhereid=1')->fetch());die;==========================以上的MYSQL,以下是REDIS===============================$redis=newredis();$redis->connect('127.0.0.1',6379);$redis->set('test','testvalue');var_dump($redis->get('test'));$redis->delete('test');
Redis官方并不支持Windows,Windows版本Redis貌似是微软自己移植的东西,不稳定也很正常.所以说,测试还是放到Linux上来.就PHP而言,同一机器,Windows+Ubuntu双系统,同一PHP版本,Ubuntu上PHP就要比Windows上快.
还有,Windows上Apache的winntMPM是一个多线程MPM,并发大生成的线程数也多,过多的PHP连接Redis可能也是Redis挂掉的原因.所以你可以考虑减少并固定Apache线程数(比如10个线程),ab并发时降低到100,PHP开启到Redis的持久连接.
redis连接这么多肯定挂啊。。。要做集群的