小编Ene*_*nes的帖子

Python3中的Google Protocol Buffers(protobuf) - ParseFromString(编码?)的麻烦

我有80%的Google协议缓冲区在Python3中工作.我的.proto文件工作,我编码数据,生活几乎是好的.问题是我不能将ParseFromString作为SerializeToString的结果.当我打印SerializeToString时,它看起来像我期望的,一个相当紧凑的二进制表示(前面是b').

我的猜测是,这可能与Python2和Python3处理字符串的方式不同.SerializeToString的putput是Bytes,而不是字符串.

SerializeToString的打印输出(Python类型是):

b'\x10\xd7\xeb\x8e\xcd\x04\x1a\x0cnamegoeshere2@\x08\x80\xf8\xde\xc3\x9f\xb0\x81\x89\x14\x11\x00\x00\x00\x00\x00\x80d\xc0\x19\x00\x00\x00\x00\x00\xc0m@!\x00\x00\x00\x00\x00\x80R\xc0)\x00\x00\x00\x00\x00x\xb7\xc01\x00\x00\x00\x00\x00\x8c\x95@9\x00\x00\x00\x00\x00\x16\xb2@'
Run Code Online (Sandbox Code Playgroud)

ParseFromString(消息)的结果:

None
Run Code Online (Sandbox Code Playgroud)

没有提供错误......

所以 - 我最好的猜测是我需要做的就是.decode()生成的字节对象,问题是我不知道编码是什么.我尝试过UTF-8,-16,Latin-1和其他一些没有成功的人.我的Google-Fu很强大,但我没有找到任何相关内容.

任何帮助,将不胜感激.

character-encoding protocol-buffers python-3.x

5
推荐指数
1
解决办法
4511
查看次数

RabbitMQ x-max-length-bytes 参数不起作用

最大长度 = 1MB,队列大小:412MB

所有,我正在尝试调整 RabbitMQ 队列的参数,试图限制增长。我注意到 x-max-length 参数按预期工作,但是当我更改为 x-max-length 字节时,情况并非如此。

请参阅下面的示例,我们可以看到为队列正确列出的参数,但您可以看到正在发生无限制的增长,并且队列的内存占用量为 421MB,而我将其设置为仅 1MB。

关于为什么会发生这种情况有什么想法吗?

感谢致敬。

rabbitmq

5
推荐指数
0
解决办法
752
查看次数

MongoDB Update-Upsert性能障碍(性能从悬崖上掉下来)

作为一些性能评估的一部分,我正在执行重复更新操作以将文档添加到MongoDB中.基于我正在执行的更新(w/upserts)的数量,我发现了执行时间的巨大非线性:

在Python中使用以下命令循环...

collection.update({'timestamp': x}, {'$set': {'value1':y, v1 : y/2, v2 : y/4}}, upsert=True)
Run Code Online (Sandbox Code Playgroud)

给我这些结果......

500 document upserts 2 seconds.
1000 document upserts 3 seconds.
2000 document upserts 3 seconds.
4000 document upserts 6 seconds.
8000 document upserts 14 seconds.
16000 document upserts 77 seconds.
32000 document upserts 280 seconds.
Run Code Online (Sandbox Code Playgroud)

请注意,在8k文档更新后,性能开始迅速降低,并且通过32k文档更新,我们看到吞吐量降低了6倍.为什么是这样?看起来奇怪的是,连续8次"手动"运行4k文档更新将比连续执行所有这些更新快6倍.

我已经看到在mongostats中我得到了一个可笑的高锁定数据库比率(> 100%),并且top在运行时显示我> 85%的CPU使用率.我有一个i7处理器,可以为VM提供4个内核.

python performance upsert mongodb

4
推荐指数
1
解决办法
2696
查看次数