我一直在努力学习C#与HttpClient的异步,并遇到了一个我无法弄清楚发生了什么的问题.
我想做的事:
问题:
每当我一起发送请求列表时,响应似乎要花费更长的时间,但它们应该大致相同.例如:
所用时间:67.9609毫秒所用
时间:89.2413毫秒所用
时间:100.2345毫秒所用
时间:117.7308毫秒所用
时间:127.6843毫秒所用
时间:132.3066毫秒所用
时间:157.3057毫秒
什么时候它们都应该只有70毫米左右...这对于每一批新产品都会重复; 第一个是快速的,然后每个连续的减速.
我的代码
有3个主要部分.我已经简化了它,我可以专注于问题发生的地方(Downloader.cs是我的时间)
Downloader.cs这包含执行实际http查询的方法:
public async Task<string> DownloadData(string requestString)
{
HttpResponseMessage response;
response = await this.httpClient.PostAsync( url, new StringContent( requestString ));
string returnString = await response.Content.ReadAsStringAsync();
return returnString;
}
Run Code Online (Sandbox Code Playgroud)QueryAgent.cs这初始化一个新的Downloader并包含主异步循环调用函数和它在循环中调用的异步方法.
我需要尽快发送新的请求,具体取决于最后一组响应的结果(基本上,请求发出的速率可能会发生变化,所以我不能在结束时执行Task.delay() while循环)
public async Task DownloadLoopAsync()
{
while ( this.isLooping )
{
// I put this here to stop it using lots of cpu.
// Not sure if it is best …Run Code Online (Sandbox Code Playgroud)现在的情况
所以我在运行Postgres的数据记录计算机上将WAL归档设置为独立的内部硬盘.包含WAL档案的硬盘正在填满,我想将所有WAL档案文件(包括初始基本备份)删除并存档到外部备份驱动器.
目录结构如下:
D:/ WALBACKUP /是所有WAL文件的父文件夹(00000110000.CA00000004等)
D:/ WALBACKUP/BASEBACKUP /保存初始基本备份的.tar
我的问题是:
干杯!
尝试将一些实验数据保存到文件时,我注意到当尝试保存 NxN 大小的热图时,执行永远不会完成。进一步调查似乎是由于 .pdf 扩展名。例如,如果我使用 .png,它会非常快。
最小可重现示例:
import matplotlib.pylab as plt
import numpy as np
import seaborn as sbn
N=200
THE_FIGURE = plt.figure(figsize=(8.27, 6), dpi=300)
ax = plt.subplot(1, 1, 1)
sbn.heatmap(np.random.uniform(1, 20, (N, N)), ax=ax)
THE_FIGURE.savefig('image.pdf', bbox_inches='tight', pad_inches=0.1)
Run Code Online (Sandbox Code Playgroud)
即使当 N = 100 时,这种放缓也会变得明显。N = 1000 甚至没有发生。这是正常的吗?我该如何解决
谢谢!
archiving ×1
async-await ×1
asynchronous ×1
blocking ×1
c# ×1
matplotlib ×1
pdf ×1
postgresql ×1
seaborn ×1
task ×1
wal ×1