·
编程学习 ·
123512
1、在压测过程中保证压力机、负载机不处于休眠状态,否则会出现压力机、负载机与服务器通讯中断的现象。设置路径:控制面板\硬件和声音\电源选项\编辑计划设置,使计算机进入休眠状态:从不
2、压测进行前要练习公司的运维人员,保证服务器、压力机IP不会被限制(由于压测时网络流量过大可能会别自动限制IP)
3、负载机、压力机、服务器防火墙关闭,否则会出现连接不通的奇葩问题
4、远程连接负载机(loadrunner generator时,在Unix Environment标签页中勾选Don`t use RSH,否则连接不上)
5、确认压测过程中是否会有大量的日志输出,确认压力机、服务器磁盘有足够的空间,或者与开发人员协商关闭掉相关日志,关闭tomcat所有日志方式:/conf中编辑logging.propoties,将日志级别都调整为OFF。在/bi中编辑catalina.sh,将if [-z "$CATALINA_OUT"];then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out修改为if [-z "$CATALINA_OUT"];then CATALINA_OUT=/dev/null;在/conf中编辑server.xml,注释掉AccessLogValve(文件最后);重启服务观察logs文件夹下所有日志均不会输出,文件大小为0.参考博文:http://blog.csdn.net/xysoul/article/details/50347285
6、tomcat 8.0.23版本在不安装应用时查看gcutil日志,内存不断上涨gc不稳定,8.0.24 、8.0.36均无此问题
7、服务器是linux的需要考虑open files是否限制,要设置成最大65535。否则会影响并发量和链接数,通过ulimit -a来查看open files的值,参考博文:
http://blog.csdn.net/jenminzhang/article/details/47017741
http://blog.csdn.net/alibert/article/details/50915123
8、调试脚本时可以通过tree视图来查看,也可以通过打开Vuser--Runtime Setting--Log--Extended log来对比查找需要关联或者修改的部分
9、windows7安装loadrunner时一直卡在执行产品配置,原因:打开进程管理器,其中有多个msiexec.exe*32进程在执行,用户为Administrator,需要kill掉其余的只保留一个,则问题接触,安装可以正常进行
10、性能问题排查步骤:
1)负载机的问题
2)网络问题
3)硬件问题
4)数据库问题
5)中间件问题
6)jvm
7)缓存服务器、zookper
8)业务程序的逻辑等问题
DummyClassifier是模型学习能力的第一道门槛:若关键指标仅略高于它(如accuracy仅高0.1%),说明特征无信号、标签泄漏或评估失真;strategy="most_frequent"暴露数据天然偏置,而strategy="stratified"才是AUC/F1等指标的合理基线,且必须...
ThreadPoolExecutor适合I/O密集型任务,如网络请求、文件读写、数据库查询,因线程等待时会释放GIL;ProcessPoolExecutor才适用于CPU密集型任务,因其绕过GIL实现真正并行。 选对执行器比调参重要得多——ThreadPoolExecutor和ProcessPool...
wrk测试前必须确认:①Flask走WSGI无原生异步,FastAPI基于ASGI+uvicorn才启用事件循环;②数据库层需匹配(psycopg2同步vsasyncpg异步);③wrk参数(-c、-t、-d)、URL、响应体及依赖必须严格一致。 用wrk测试前必须确认的3个底层差异 Flask默认...
Ruff比flake8+isort快10–100倍,因其用Rust实现单二进制、零解释器开销、AST复用与并行遍历,而非单纯依赖语言性能;迁移需分阶段配置对齐,避免规则差异导致误报或语义错误。 ruff确实能显著提升Python项目的静态检查性能——它用Rust编写,单进程、零依赖、启动快、检查快,...
Seek分页是解决大页码性能崩坏最有效的手段,尤其当页码超过500或OFFSET>10000时,可将查询从秒级降至毫秒级;其核心是用上一页最后记录的排序字段值作游标,避免OFFSET扫描丢弃大量数据,需配合复合索引及非空约束,并舍弃页码跳转、总页数等需求。 直接结论:用Seek分页(键值分页)...
spy比patch更适合监控已有逻辑,因为它不替换原函数,仅记录调用信息而不干预执行,避免行为脱节和副作用屏蔽;spy不可设return_value,应使用wraps实现监控+控制。 为什么spy比patch更适合监控已有逻辑 当你只是想确认某个函数被调用了、传了什么参数、返回了什么值,但又不想切断...
SQLAlchemy中N+1查询源于relationship默认lazy='select',实操应优先用joinedload或selectinload优化,并通过SQL日志、EXPLAIN分析、索引检查及合理session管理来根治。 SQLAlchemy里relationship默认懒加载,一查列...
生产环境必须关闭debug=True,否则会暴露完整错误堆栈(含绝对路径、变量值、Werkzeug版本)、开放调试器入口(/console)、触发不安全热重载,且无法通过反向代理补救。 生产环境必须关闭debug=True,这不是优化建议,而是安全底线。它直接导致错误堆栈泄露、代码重载失控、内存泄漏...