彩38源码搭建与项目中遇到的bug

1.Redis服务器 can not get resource from pool.
1000个线程并发还能跑,5000个线程的时候出现这种问题,彩38源码搭建QQ:2152876294 网址diguaym.com后台debug日志,发现redis 线程池不够。刚开始设置的是:

redis 配置文件

#redis
redis.host=127.0.0.1
redis.port=6379
redis.timeout=300 等待时间 10s改为300s
redis.password=123456
redis.poolMaxTotal=1000 连接数,刚开始最大连接数 设置为100.
redis.poolMaxIdle=500 最大空闲连接数 100改成500
redis.poolMaxWait=300
顺便也改了一下jdbc 的连接池参数,最大空闲和最大连接数都改成1000.在测一下。可以

spring.datasource.filters=stat
spring.datasource.maxActive=1000
spring.datasource.initialSize=100
spring.datasource.maxWait=60000
spring.datasource.minIdle=500
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=select ‘x‘
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxOpenPreparedStatements=20
2.5000并发下的问题,20个商品,库存减到-4980。
后来看代码发现,判断库存用的是if(stock==0 ) 抛出异常。应该用stock<0,因为 若此时同时2个线程进来,就永远小于0,后面的业务逻辑都可以执行。

3.然后就是超卖的问题
第一次压力测试的时候,5000个线程,分别取不同的token(sessionId),同时访问 秒杀这个接口,商品个数只放了20个。结果出现最后商品数量变负的问题。

4.编码的问题
接口限流防刷的时候,通过计数器限流,如果超过某个阈值,向前端返回一个codeMsg对象用于显示的时候,显示的是String是乱码的问题,之前由于一直返回都是json 格式,都是封装好在data里。

这次返回是直接通过输出流直接写到response直接返回字节数组的,而不是spring controller 返回数据(springboot 默认utf-8),出现乱码问题,用utf-8编码,解决。

原文地址:http://blog.51cto.com/13907497/2154154

时间: 2024-10-09 20:25:32

彩38源码搭建与项目中遇到的bug的相关文章

深入解析彩38源码搭建APP生成 整个APP开发标准流程

一般的APP开发及上线流程 步骤如下: 首先,制作一款APP,必须要有相关的idea(主意),也就是说,第一步是APP的idea(主意)形成. 其次,彩38源码搭建bbs.yasewl.com请添加链接描述就是通过那些idea来进行APP的主要功能设计以及大概界面构思和设计. App的开发是一个不断推敲的过程. 首先,如果要做一款app,必须要前期进行沟通,初步表明此款app要实现的效果,属于哪个类型的app.在功能和实现价值基本敲定的情况下,开始进入项目评估阶段.这个时候产品经理会根据之前商定

彩38源码下载与JAVA接口随笔

接口与类相似点:一个接口可以有多个方法.彩38源码下载QQ:2152876294 网址diguaym.com接口文件保存在 .java 结尾的文件中,文件名使用接口名.接口的字节码文件保存在 .class 结尾的文件中.接口相应的字节码文件必须在与包名称相匹配的目录结构中.接口与类的区别:接口不能用于实例化对象.接口没有构造方法.接口中所有的方法必须是抽象方法.接口不能包含成员变量,除了 static 和 final 变量.接口不是被类继承了,而是要被类实现.接口支持多继承.接口与类的区别:接口

Python的字符串-彩38源码下载

由于计算机是美国人发明的,彩38源码下载(企 娥:217 1793 408)因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去. char-encoding-problem 因此,Unicode应运而生.Unicode把所有语言都统一到一套编码

Jenkis pipeline构建菠菜源码搭建出售项目实践

在完成前文的jenkins server 在k8s环境部署 之后,本文我们来测试在k8s集群环境中的jenkins pipeline构建项目和更新,具体环境要求如下:1.jenkins pipeline插件安装成功2.要更新的应用已提前部署3.Jenkins slave中需要有kubectl.svn.mvn客户端且环境变量设置准确4.Jenkis slave需要能和master的api-server进行正常通信(这里为了简便,前文构建jenkins server的时候直接对defalut这个se

小心!做 UI 彩38源码自动化一定要跨过这些坑

图一 UI自动化常见问题联系方式:QQ:2747044651 网址http://zhengtuwl.com 填掉这三类坑,基本上就获得了一套低成本高产出.少量维护.稳定可靠的UI自动化用例集. 三. 设计类问题分析与解决"才刚写完用例,怎么开发大哥又改了UI了?" "测试框架自己有bug,我改用例也没用啊--" 这类问题,我们需要从根上治.UI自动化开发,也应该是严谨的开发工作,它也需要设计模式,也是磨刀不误砍柴工.这里的设计,主要包括选工具.框架分层等.很多前辈都

五分彩源码搭建与机器学习

框架介绍 1.Apache Singa 是一个用于在大型数据集上训练深度学习的通用分布式深度学习平台,它是基于分层抽象的简单开发模型设计的. 五分彩源码搭建 QQ:2152876294 网址diguaym.com 它还支持各种当前流行的深度学习模型,有前馈模型(卷积神经网络,CNN),能量模型(受限玻尔兹曼机,RBM和循环神经网络,RNN),还为用户提供了许多内嵌层. 2.Amazon Machine Learning(AML)是一种让各种级别使用机器学习技术的开发人员可轻松掌握的一个服务,提供

gin框架中自定义向log中写入极速快三源码搭建调试信息

我们在极速快三源码搭建项目的调试过程中,需要将一些自定义信息写入到log文件中,gin框架中提供了基础的Logger()方法,查看gin的文档,有如下信息:企 娥:217 1793 408 How to write log file func main() {// Disable Console Color, you don't need console color when writing the logs to file.gin.DisableConsoleColor() // Loggin

mysql环境下分分彩源码搭建的操作

首先打开分分彩源码搭建数据库(Linux):service mysql start(关闭数据库 service mysql stop)企 娥:217 1793 408window下:net start mysql 然后输入密码:mysql -uroot -p密码 进入mysql后开始操作1.数据库的相关操作 查看所有的数据库 show databases;创建数据库 create database 数据库名;删除数据库 drop database 数据库名:mysql数据库的名称在黑窗口下是无法

极速彩源码搭建步骤 Java 开发者都应该知道的 5 个注解

自 JDK5 推出以来,注解已成为Java生态系统不可缺少的一部分.虽然开发者为Java框架(例如Spring的@Autowired)开发了无数的自定义注解,但编译器认可的一些注解非常重要. 在本文中,极速彩源码搭建bbs.yasewl.com我们将看到5个Java编译器支持的注解,并了解其期望用途.顺便,我们将探索其创建背后的基本原理,围绕其用途的一些特质,以及正确应用的一些例子.虽然其中有些注解比其他注解更为常见,但非初学Java开发人员都应该消化了解每个注解. 首先,我们将深入研究Java