Python 有时putRecord不会';不能通过AWS运动功能返回任何响应
我正在使用AWS boto python库 我每秒从Jmeter向我的web应用程序发送10000个请求,该应用程序将数据写入kinesis流。 我已经用了16个碎片流。当我停止Jmeter时,我看到一些记录没有写入流。我也有我的日志,但没有发现任何错误。 这是我的示例代码Python 有时putRecord不会';不能通过AWS运动功能返回任何响应,python,amazon-kinesis,Python,Amazon Kinesis,我正在使用AWS boto python库 我每秒从Jmeter向我的web应用程序发送10000个请求,该应用程序将数据写入kinesis流。 我已经用了16个碎片流。当我停止Jmeter时,我看到一些记录没有写入流。我也有我的日志,但没有发现任何错误。 这是我的示例代码 try: p_key = '{0}{1}'.format('partition_key',(1, 10000)) # Connect to AWS Kinesis region
try:
p_key = '{0}{1}'.format('partition_key',(1, 10000))
# Connect to AWS Kinesis region
kinesis_obj = kinesis.connect_to_region(region_name)
# Put data on AWS Kinesis stream
app.logger.debug(count++)
response = kinesis_obj.put_record(stream_name,record,p_key)
app.logger.debug(count++)
app.logger.debug(response)
except kinesis.exceptions.ResourceNotFoundException, re_ex:
write_log(record, re_ex)
except kinesis.exceptions.ResourceInUseException, inuse_ex:
write_log(record, inuse_ex)
except Exception, ex:
write_log(record, ex)
当我在这里打印count时,收到了25000个请求
response = kinesis_obj.put_record(stream_name,record,p_key)
以及,
我这里有24900个请求
100条丢失的记录
response
中没有响应,没有例外。您找到了吗?我注意到您在调用put\u record
之前和之后都在调用count++
,这不会给出准确的计数。考虑保留<代码>成功< /代码>计数,以清楚地显示没有问题插入的记录,并且您需要显示您的消费者侧代码(显示不同记录的指示丢失记录的代码)您是否已经追踪到这一点?我注意到您在调用put\u record
之前和之后都在调用count++
,这不会给出准确的计数。考虑保留<代码>成功< /代码>计数,以清楚地显示没有问题插入的记录,并且您需要显示您的消费侧代码(显示不同记录的指示丢失记录的代码)