最新消息:觉得本站不错的话 记得收藏哦 博客内某些功能仅供测试 讨论群:135931704 快养不起小站了 各位有闲钱就打赏下把 My Email weicots#gmail.com Please replace # with @

PHP WIN MYSQL Rdeis 下多进程处理产品数据测试 31 万条 6 进程

LINX ajiang-tuzi 902浏览

刚开始的时候 跑6个进程 老是爆这个错误 然后程序蹦盘
clipboard

数据库连接错误由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作

英文原文

Understanding the error “An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.”

为此我检查了下
内存 还剩4G 绝对够用
磁盘 C 盘10G E 2.5 应该够用
所以我怀疑是队列的问题
为了减少同一时间 的连接数 除Mysql 外Redis 同时也要进行读写操作 占用一定的链接数
我把校验SKU 的KEY 的索引去掉了
然后数据越多查询越慢 同时占用系统的连接数也少
然后 6 个进程 成功的开启 Mysql 每秒基本保存在 24×6 的执行速度

关于这个错误的 MSDM 的练接
Understanding the error “An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.”
import_product

/**
 * import product test 
 * win redis mysq php  
 * weicot.com  1050653098@qqcom
 */
<-----------------多进程阶段 开始 一起跑的 ------------------->
这三个进程在加索引后挂掉   开始时间  2017-07-06 13:28:21    这三个进程数据是估计的  挂掉之前没记录数据
进程1    读取查询最少   109188 次      2017-07-06 14:52:13    54594 个产品 有效产品
进程2    读取查询最少   115020 次      2017-07-06 14:52:13    57504 个产品 有效产品
进程3    读取查询最少   146236 次      2017-07-06 14:52:13    73118 个产品 有效产品

有效产品(指的是拥有为一SKU的不重复产品)
合计  操作 185216  产品 预计读写 370444 次    合计1.2 个小时



在加索引之前已经跑玩的
进程4
查询次数 以及  合计过滤产品  50461
插入次数 以及 Redis 操作次数  43904
以纯在的产品   6557
合计对数据库操作94365
开始时间 2017-07-06 13:28:04
结束时间 2017-07-06 14:47:14
耗时开始标记:1499323634结束标记:1499318884


进程5
查询次数 以及  合计过滤产品  48239
插入次数 以及 Redis 操作次数  41270
以纯在的产品   6969
合计对数据库操作89509
开始时间 2017-07-06 13:28:10
结束时间 2017-07-06 14:32:42
耗时开始标记:1499322762结束标记:1499318890

进程6
查询次数 以及  合计过滤产品  31016
插入次数 以及 Redis 操作次数  21590
以纯在的产品   9426
合计对数据库操作52606
开始时间 2017-07-06 13:28:21
结束时间 2017-07-06 14:03:52
耗时开始标记:1499321032结束标记:1499318901


此阶段(多进程阶段)合计  数据库操作 592625 次    
过滤产品数据 31.4932万(314932)个    导入的有效产品29.1980万(291980)个
多进程时间区间   1.2个小时
BEG  2017-07-06 13:28:04 END  2017-07-06 14:52:13
Mysql 每秒约处理144 条
<-----------------多进程阶段 结束-------------------->

<-----------------单程阶段 开始-------------------->

加完索引后 重新跑挂掉的进程   只跑一个进程
进程一任务
查询次数 以及  合计过滤产品  66076
插入次数 以及 Redis 操作次数  11482
以纯在的产品   54594
合计对数据库操作77558
开始时间 2017-07-06 15:11:44
结束时间 2017-07-06 15:15:28
耗时开始标记:1499325328结束标记:1499325104


进程二 任务
查询次数 以及  合计过滤产品  73002
插入次数 以及 Redis 操作次数  15498
以纯在的产品   57504
合计对数据库操作88500
开始时间 2017-07-06 14:53:46
结束时间 2017-07-06 14:59:47
耗时开始标记:1499324387结束标记:1499324026

进程三的任务
............................................
插入次数 以及 Redis 操作次数  25
以纯在的产品   73118
合计对数据库操作73168
开始时间 2017-07-06 15:22:47
结束时间 2017-07-06 15:27:43
耗时开始标记:1499326063结束标记:1499325767
<-----------------单程阶段 结束-------------------->

转载请注明:(●--●) Hello.My Weicot » PHP WIN MYSQL Rdeis 下多进程处理产品数据测试 31 万条 6 进程