- 博客(7)
- 收藏
- 关注
原创 C++实现Linux下高并发服务器的技术要点及实现细节
备战秋招面试,记录目前项目的技术要点,欢迎访问!觉得有帮助的可以点个关注,后续更新面试情况。
2024-08-21 22:08:16
716
原创 C++实现简易数据库连接池的研究
数据库连接池是指,在服务器程序未和客户端通讯时,就提前创建好一定数量的数据库连接并放入缓冲池中;当服务器工作线程需要请求建立数据库连接时,就可以直接从缓冲池中“拿出”建立好的连接来用,用完后将该连接放回池中(动态绑定机制),连接本身不会中断。数据库连接池负责分配,管理和释放数据库连接,它允许服务器程序重复使用一个现有的数据库连接,而不是重新建立一个。(即连接池中的连接是公共的,谁都能用,你用完我可以接着用)当线程向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。
2024-06-11 14:25:01
1951
原创 Web Server服务器压力测试的研究
6、分析服务器性能瓶颈的原因:(1)服务器的设计框架是单Reactor+线程池模式,其中的Reactor所在的主线程负责监听并处理Accept和IO事件,线程池负责根据读事件的结果解析HTTP请求协议做出响应,通知主线程处理写事件。但webbench的http1.1的Connection字段默认为close而不是keep-alive没有开启长连接,而且因为1.1增加了许多字段,导致处理的每秒字节数大量提高,同时由于IO耗时增加,导致返回的pages数量下降,QPS下降到只有5500左右。
2024-06-07 20:17:26
593
1
原创 C++实现简易异步LOG日志系统的研究
近期准备秋招,于是将之前的WebServer项目捡起来,重新设计整理了一番。加入了日志系统用来记录服务器的运行状态。为了不给服务器增添负担,遂打算构建异步日志库。
2024-06-07 14:47:37
290
原创 Yolov5中Detect层的输出转化成图片上的预测框的过程
对输出进行NMS操作,返回的结果out是list,其中的元素是张量,形状为(筛选后的n, x1y1x2y2 + rate + class = 6),元素个数为bs,n对于每个张量元素各不相同,是从3*(20*20+40*40+80*80)中筛选掉了不符合置信度和iou的预测框得到的,multi_label=True,所以同一个框会有可能多个置信度超过阈值的分类,n也不是该batch内的所有框的数量,而是比它多。对于out先执行了output_to_target()函数,得到的返回结果是一个。
2023-11-14 21:17:28
1101
原创 【最有用】UserWarning: Matplotlib is currently using agg, which is a non-GUI backend
2、在最后一个引起返回值改变的库下面添加一行matplotlib.use('module://matplotlib_inline.backend_inline')或者matplotlib.use('Qt5Agg')即可。结果发现是后面导入的几个库改变了matplotlib.get_backend()的返回值,从而出现该错误。1、判断引起问题的import库。在所有的import库下添加一句打印代码。
2023-11-13 17:26:31
870
1
原创 Yolov5中统计iou值的分布
改进:不难发现,在val.py中添加了以上代码,检测结果得到的FPS值会下降,统计iou操作所耗费的时间被算入了推理时间内,如果进行正常的val操作就需要注释掉上述代码,较为麻烦,于是可以在val.py中添加一个bool值的超参数来给该功能做个开关。接着,在循环内部添加两行代码。然后在循环结束后添加以下代码。for循环前增添一行代码。
2023-11-13 16:55:39
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人