Java开发技术大杂烩(一)之Redis、Jmeter、MySQL的那些事

本文针对Redis远程连接限制、Jmeter环境配置及MySQL连接数等问题提供了详细的解决方案。包括修改Redis配置以允许远程访问,配置Jmeter环境变量以便在Linux环境下使用,以及调整MySQL连接数限制以应对高并发场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###前言

毕业答辩告一段落,接下来好好努力工作。

###Redis遇到的一些问题

DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
复制代码

这是redis的保护机制,连接redis只能是127.0.0.1这个ip,我们远程连接是拒绝的。所以我们需要在redis.conf进行如下配置。

  • 1.配置protected-mode no,禁用redis默认保护机制。

  • 2.配置daemonize yes,让redis后台启动。

  • 3.注释掉bind 127.0.0.1这行代码

  • 4.然后通过指定配置文件启动方式启动redis。

redis-server redis.conf
复制代码
  • 5.通过telnet 111.230.11.184 6379,发现远程登录成功。

###Jmeter遇到的一些问题

  • 1.设置Jmeter在linux上环境变量,vim /etc/profile,进行如下配置,然后source /etc/profile保存配置让其生效。
export JMETER_HOME=/usr/local/apache-jmeter-4.0
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
复制代码

###MySQL遇到的问题


  • 1.当我在做秒杀商品压测的时候,发现会频繁的访问数据库。于是将数据源连接池中的spring.datasource.druid.inital-size(初始化连接)设置为500,spring.datasource.druid.min.idle(最小空闲连接,连接池容许保持空闲状态的最小连接,低于这个数量将会创建新的连接)设置为500,spring.datasource.druid.max-active(最大活动连接,连接池在同一时间能够分配的最大活动连接的数量)设置为1000。然后看输出台抛出了Data source rejected establishment of connection, message from server: "Too many connections"。这是由于太多的连接数量超过了mysql默认的连接数,我们只需要在/etc/my.cnf添加如下配置(初始化连接数设置的过大,会导致应用启动变得很慢):
max_connections=1000 所有用户连接数的最大值
max_user_connections=520 单一用户连接数的最大值
wait_timeout=60  60s后关闭空闲连接,对正在工作的连接不受影响
复制代码
  • 3.学习Linux命令:netstat -anp|grep 8086,查看占用8086端口的程序的pid。
  • 4.学习Linux命令 :cat /var/log/mysqld.log|grep ERROR,查看mysqld.log日志文件中ERROR级别的日志内容。
  • 5.学习Linux命令:mysql -uroot -p,登录mysql。SHOW VARIABLES LIKE "%max%connec%",查看参数配置。
  • 6.当我在linux下,登录mysql后,输入show databases,发现没有反应。百度后,发现必须要在每行命令结尾加上 \g。
  • 7.学习Linux命令:cat /proc/meminfo,查看linux服务器当前可用内存。真正可用的内存=MemFree+Buffers+Cached

###尾言

mayday

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值