Mysql写压力很大,怎么办?高并发下最大的性能问题多在数据库。我们以前建一个20万的supergroup,mongodb每个月都会出事故。下面说说高并发下如何缓解mysql的压力??:mysql锁表锁库,sqlite是锁库不锁表环境准备Macmysqlnavicatwrk压力测试工具node.js环境下载wrkbrew安装wrk如果卡在这里,你可以调整`replacebrew.git:cd"$(brew--repo)"gitremoteset-urloriginhttps://mirrors.ustc.edu.cn/brew.gitreplacehomebrew-core.git:cd"$(brew--repo)/Library/Taps/homebrew/homebrew-core"gitremoteset-urloriginhttps://mirrors.ustc.edu.cn/homebrew-core.git`再次执行brewinstallwrk即可使用Node.js连接mysql首先准备一个函数来执行sql语句`constmysql=require('mysql');const{MYSQL_CONF}=require('./config');constcon=mysql.createConnection(MYSQL_CONF);//建立aconnectioncon.connect();//执行sql的统一方法functionexec(sql){constpromise=newPromise((resolve,reject)=>{con.query(sql,(error,result)=>{if(错误){拒绝(错误);}解决(结果);});});returnpromise;}//关闭连接functionkill(){con.end();}module.exports={exec,杀死};`再准备一个配置文件config.js(配置可以根据环境变量区分)`//获取环境变量constenv=process.env.NODE_ENV;letMYSQL_CONF;//配置开发环境MYSQL_CONF={host:'localhost',user:'root',password:'123456',port:'3306',database:'blog',socketPath:'/tmp/mysql.sock',};module.exports={MYSQL_CONF};`如上所示,首先创建测试表`exec('CREATETABLEIFNOTEXISTSTEST_WRITE(first_columnINT,second_columnVARCHAR(100));')`通过可视化工具Navicat可以看到表已经创建成功,开始模拟写入首先写一个接口模拟用户请求写入数据库`app.get('/test',(req,res)=>{exec("INSERTINTOfirst_table(first_column,second_column)VALUES(1,'aaa');");res.json(success({errcode:0,data:{}}));});`介绍wrkwrk是一个用于HTTP基准测试的工具,它可以产生很大的压力。与Apacheab相比,功能更强大,可以使用lua脚本支持更复杂的测试场景,比如PUT请求。对于Restful架构的API接口,测试起来更方便。如何使用`使用方法:wrk
