请问这样算3千的并发吗?

发布于 2022-09-11 16:22:47 字数 1013 浏览 16 评论 0

问题描述

同一个ip下用3千个线程去请求,而真实场景是3千个不同的ip,前一种情况可以复用socket,似乎真实场景要更慢,有办法模拟吗?

相关代码

并发测试代码

import requests
import time
import threading
s=time.time()
def get():
    r=requests.get('http://localhost:3000?id='+str(i))
    #print(threading.currentThread())
    #print(r.text)
for i in range(1,3000):
    threading.Thread(target=get).start()
print(time.time()-s)    

服务端代码,,写入3000条数据,用时11秒左右,1000条则是3秒左右,有办法优化吗?

var http = require('http');
var url =require('url')
var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : 'root',
  database : 'test'
});
 
connection.connect();

http.createServer(function(req, res){
    //res.writeHead(200, {'Content-Type': 'text/plain'});
    id=url.parse(req.url, true).query.id;
    connection.query('INSERT INTO speed(num) values ('+id+')')
    //connection.query('select id from speed where num='+id)
}).listen(3000)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘香 2022-09-18 16:22:49

这叫个锤子并发

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文