① 使用python编写服务器端和客户端 求大神帮忙
大多数情况, 要么是你linux上iptables拒绝掉了, 要么就是你的程序只是监听了某一个不是你客户端所访问的ip, 比如只监听了127.0.0.1
② 如何用python开发一个ssh客户端工具
1)通过paramiko的ssh模块连接指定主机;
2)通过SSHClient.exec_command在远程主机上执行命令;
3)通过exec_command返回的stdout,stdin,stderr进行交互;
4)保存成功连接的主机信息(session),可以通过ls命令查看,sessionid命令,直接启动新连接;
5)可在windows和linux下运行,写程序时需要注意他们的差别。
代码ssh.py
#!/usr/bin/python
#-*-coding:utf-8-*-
importos,sys
importparamiko
importthreading
importplatform
curr_ssh=None
curr_prompt=">>"
#使用说明
defprintUsage():
print"!ls:listsessions."
print"!sessionid:connectsession."
print"!connhostuserpassword:connecthostwithuser."
print"!exit:exit."
#连接
defconn(ip,username,passwd):
try:
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,username,passwd,timeout=5)
print"Connectto",ip,"with",username
globalcurr_prompt
curr_prompt=username+"@"+ip+">>"
returnssh
except:
returnNone
#加载以前的连接信息
sessions=[]
defloadSessions():
globalsessions
try:
f=open("sessions")
sessions=f.readlines()
f.close()
except:
pass
#执行本地命令,ssh.py的命令
defexe_cmd_local(cmd):
if(cmd=="!ls"):
loadSessions()
globalsessions
i=0
print"Sessions:"
forsinsessions:
print"[%d]%s"%(i,s)
i+=1
else:
vals=cmd.split('')
if(vals[0]=="!session"):
id=(int)(vals[1])
if(id<len(sessions)):os_name="platform.system()"new_console_cmd=""if(os_name="=""linux"):="".=""ssh.py="""=""+=""sessions[id]+"""=""elif(os_name="=""windows"):=""sessions[id]=""os.system(new_console_cmd)=""else:=""print="""didn't=""hava=""sessoin=""",vals[1]=""elif(vals[0]="="!conn"):"global=""curr_ssh=""f="open("sessions","a")"line="vals[1]+"""+vals[2]+"="""+vals[3]+" "=""f.write(line)=""f.close()=""#在ssh连接的主机上执行命令=""def=""exe_cmd_ssh(ssh,cmd):=""if(ssh="="none):=""connect=""to=""a=""server.=""use=""'!conn'=""please."=""return=""stdin,=""stdout,=""stderr="ssh.exec_command(cmd)"#stdin.write("y")=""#简单交互,输入=""‘y’=""#屏幕输出=""stdout.read()=""stderr.read()=""#入口函数=""if=""__name__="='__main__':"loadsessions()=""if(len(sys.argv)="=4):"printusage()=""while=""true:=""cmd="raw_input(curr_prompt)"if(len(cmd)="=0):"continue=""if(cmd="=""!exit"):=""if(curr_ssh=""!="None):"curr_ssh.close();=""break=""if(cmd[0]="="'!'):=""exe_cmd_local(cmd)=""exe_cmd_ssh(curr_ssh,cmd)<=""pre="">
③ 如何使用python 开发一个api
使用 Python 和 Flask 设计 RESTful API
近些年来 REST (REpresentational State Transfer) 已经变成了 web services 和 web APIs 的标配。
在本文中我将向你展示如何简单地使用 Python 和 Flask 框架来创建一个 RESTful 的 web service。
什么是 REST?
六条设计规范定义了一个 REST 系统的特点:
客户端-服务器: 客户端和服务器之间隔离,服务器提供服务,客户端进行消费。
无状态: 从客户端到服务器的每个请求都必须包含理解请求所必需的信息。换句话说, 服务器不会存储客户端上一次请求的信息用来给下一次使用。
可缓存: 服务器必须明示客户端请求能否缓存。
分层系统: 客户端和服务器之间的通信应该以一种标准的方式,就是中间层代替服务器做出响应的时候,客户端不需要做任何变动。
统一的接口: 服务器和客户端的通信方法必须是统一的。
按需编码: 服务器可以提供可执行代码或脚本,为客户端在它们的环境中执行。这个约束是唯一一个是可选的。
什么是一个 RESTful 的 web service?
REST 架构的最初目的是适应万维网的 HTTP 协议。
RESTful web services 概念的核心就是“资源”。 资源可以用URI来表示。客户端使用 HTTP 协议定义的方法来发送请求到这些 URIs,当然可能会导致这些被访问的”资源“状态的改变。
HTTP 标准的方法有如下:
REST 设计不需要特定的数据格式。在请求中数据可以以JSON形式, 或者有时候作为 url 中查询参数项。
设计一个简单的 web service
坚持 REST 的准则设计一个 web service 或者 API 的任务就变成一个标识资源被展示出来以及它们是怎样受不同的请求方法影响的练习。
比如说,我们要编写一个待办事项应用程序而且我们想要为它设计一个 web service。要做的第一件事情就是决定用什么样的根 URL 来访问该服务。例如,我们可以通过这个来访问:
http://[hostname]/todo/api/v1.0/
在这里我已经决定在 URL 中包含应用的名称以及 API 的版本号。在 URL 中包含应用名称有助于提供一个命名空间以便区分同一系统上的其它服务。在 URL 中包含版本号能够帮助以后的更新,如果新版本中存在新的和潜在不兼容的功能,可以不影响依赖于较旧的功能的应用程序。
下一步骤就是选择将由该服务暴露(展示)的资源。这是一个十分简单地应用,我们只有任务,因此在我们待办事项中唯一的资源就是任务。
我们的任务资源将要使用 HTTP 方法如下:
我们定义的任务有如下一些属性:
id: 任务的唯一标识符。数字类型。
title: 简短的任务描述。字符串类型。
description: 具体的任务描述。文本类型。
done: 任务完成的状态。布尔值。
目前为止关于我们的 web service 的设计基本完成。剩下的事情就是实现它!
Flask 框架的简介
如果你读过Flask Mega-Tutorial 系列,就会知道 Flask 是一个简单却十分强大的 Python web 框架。
在我们深入研究 web services 的细节之前,让我们回顾一下一个普通的 Flask Web 应用程序的结构。
我会首先假设你知道 Python 在你的平台上工作的基本知识。 我将讲解的例子是工作在一个类 Unix 操作系统。简而言之,这意味着它们能工作在 Linux,Mac OS X 和 Windows(如果你使用Cygwin)。 如果你使用 Windows 上原生的 Python 版本的话,命令会有所不同。
让我们开始在一个虚拟环境上安装 Flask。如果你的系统上没有 virtualenv,你可以从https://pypi.python.org/pypi/virtualenv上下载:
既然已经安装了 Flask,现在开始创建一个简单地网页应用,我们把它放在一个叫 app.py 的文件中:
为了运行这个程序我们必须执行 app.py:
现在你可以启动你的网页浏览器,输入http://localhost:5000看看这个小应用程序的效果。
简单吧?现在我们将这个应用程序转换成我们的 RESTful service!
使用 Python 和 Flask 实现 RESTful services
使用 Flask 构建 web services 是十分简单地,比我在Mega-Tutorial中构建的完整的服务端的应用程序要简单地多。
在 Flask 中有许多扩展来帮助我们构建 RESTful services,但是在我看来这个任务十分简单,没有必要使用 Flask 扩展。
我们 web service 的客户端需要添加、删除以及修改任务的服务,因此显然我们需要一种方式来存储任务。最直接的方式就是建立一个小型的数据库,但是数据库并不是本文的主体。学习在 Flask 中使用合适的数据库,我强烈建议阅读Mega-Tutorial。
这里我们直接把任务列表存储在内存中,因此这些任务列表只会在 web 服务器运行中工作,在结束的时候就失效。 这种方式只是适用我们自己开发的 web 服务器,不适用于生产环境的 web 服务器, 这种情况一个合适的数据库的搭建是必须的。
我们现在来实现 web service 的第一个入口:
正如你所见,没有多大的变化。我们创建一个任务的内存数据库,这里无非就是一个字典和数组。数组中的每一个元素都具有上述定义的任务的属性。
取代了首页,我们现在拥有一个 get_tasks 的函数,访问的 URI 为 /todo/api/v1.0/tasks,并且只允许 GET 的 HTTP 方法。
这个函数的响应不是文本,我们使用 JSON 数据格式来响应,Flask 的 jsonify 函数从我们的数据结构中生成。
使用网页浏览器来测试我们的 web service 不是一个最好的注意,因为网页浏览器上不能轻易地模拟所有的 HTTP 请求的方法。相反,我们会使用 curl。如果你还没有安装 curl 的话,请立即安装它。
通过执行 app.py,启动 web service。接着打开一个新的控制台窗口,运行以下命令:
我们已经成功地调用我们的 RESTful service 的一个函数!
现在我们开始编写 GET 方法请求我们的任务资源的第二个版本。这是一个用来返回单独一个任务的函数:
第二个函数有些意思。这里我们得到了 URL 中任务的 id,接着 Flask 把它转换成 函数中的 task_id 的参数。
我们用这个参数来搜索我们的任务数组。如果我们的数据库中不存在搜索的 id,我们将会返回一个类似 404 的错误,根据 HTTP 规范的意思是 “资源未找到”。
如果我们找到相应的任务,那么我们只需将它用 jsonify 打包成 JSON 格式并将其发送作为响应,就像我们以前那样处理整个任务集合。
调用 curl 请求的结果如下:
当我们请求 id #2 的资源时候,我们获取到了,但是当我们请求 #3 的时候返回了 404 错误。有关错误奇怪的是返回的是 HTML 信息而不是 JSON,这是因为 Flask 按照默认方式生成 404 响应。由于这是一个 Web service 客户端希望我们总是以 JSON 格式回应,所以我们需要改善我们的 404 错误处理程序:
我们会得到一个友好的错误提示:
接下来就是 POST 方法,我们用来在我们的任务数据库中插入一个新的任务:
添加一个新的任务也是相当容易地。只有当请求以 JSON 格式形式,request.json 才会有请求的数据。如果没有数据,或者存在数据但是缺少 title 项,我们将会返回 400,这是表示请求无效。
接着我们会创建一个新的任务字典,使用最后一个任务的 id + 1 作为该任务的 id。我们允许 description 字段缺失,并且假设 done 字段设置成 False。
我们把新的任务添加到我们的任务数组中,并且把新添加的任务和状态 201 响应给客户端。
使用如下的 curl 命令来测试这个新的函数:
注意:如果你在 Windows 上并且运行 Cygwin 版本的 curl,上面的命令不会有任何问题。然而,如果你使用原生的 curl,命令会有些不同:
当然在完成这个请求后,我们可以得到任务的更新列表:
剩下的两个函数如下所示:
④ python开发的客户端依赖于环境吗
用py2exe, pyinstaller等都可以将python开发的桌面程序(即客户端)与PVM(即Win环境下的pythonxx.dll)打包到一起,发布到用户电脑上时是完全可以脱离 python 环境运行的,不过体积比较大,4,5MB左右。
⑤ 请问各位大大,Python如何编写websocket的服务端和客户端,wss的那种
自己开发websocket的服务端和客户端不是不可以,就是短时间内难以做出来稳定性高的服务。
如果真要自己开发也不是不行,python下可以用的websocket或者channels来开发websocket,具体如何实现你网络一下就有很多教程了。
不过如果是在商业项目中运用的话,稳定性、高并发性是需要着重考虑的,可以尝试下第三方的websocket推送服务的。
我们项目现在集成的是【GoEasy】websocket推送,目前使用良好,稳定性这些都不错。
⑥ 请问python 后端开发一般需要什么技术
第一阶段:Python语言基础
主要学习Python最基础知识,如Python3、数据类型、字符串、函数、类、文件操作等。阶段课程结束后,学员需要完成Pygame实战飞机大战、2048等项目。
第二阶段:Python语言高级
主要学习Python库、正则表达式、进程线程、爬虫、遍历以及MySQL数据库。
第三阶段:Pythonweb开发
主要学习HTML、CSS、JavaScript、jQuery等前端知识,掌握python三大后端框架(Django、 Flask以及Tornado)。需要完成网页界面设计实战;能独立开发网站。
第四阶段:Linux基础
主要学习Linux相关的各种命令,如文件处理命令、压缩解压命令、权限管理以及Linux Shell开发等。
第五阶段:Linux运维自动化开发
主要学习Python开发Linux运维、Linux运维报警工具开发、Linux运维报警安全审计开发、Linux业务质量报表工具开发、Kali安全检测工具检测以及Kali 密码破解实战。
第六阶段:Python爬虫
主要学习python爬虫技术,掌握多线程爬虫技术,分布式爬虫技术。
第七阶段:Python数据分析和大数据
主要学习numpy数据处理、pandas数据分析、matplotlib数据可视化、scipy数据统计分析以及python 金融数据分析;Hadoop HDFS、python Hadoop MapRece、python Spark core、python Spark SQL以及python Spark MLlib。
第八阶段:Python机器学习
主要学习KNN算法、线性回归、逻辑斯蒂回归算法、决策树算法、朴素贝叶斯算法、支持向量机以及聚类k-means算法。
关于python后端开发需要学什么的内容,青藤小编就和您分享到这里了。如果您对python编程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于python编程的技巧及素材等内容,可以点击本站的其他文章进行学习。
⑦ python后端开发需要学什么
第一阶段:Python语言基础
主要学习Python最基础知识,如Python3、数据类型、字符串、函数、类、文件操作等。阶段课程结束后,学员需要完成Pygame实战飞机大战、2048等项目。
第二阶段:Python语言高级
主要学习Python库、正则表达式、进程线程、爬虫、遍历以及MySQL数据库。
第三阶段:Pythonweb开发
主要学习HTML、CSS、JavaScript、jQuery等前端知识,掌握python三大后端框架(Django、 Flask以及Tornado)。需要完成网页界面设计实战;能独立开发网站。
第四阶段:Linux基础
主要学习Linux相关的各种命令,如文件处理命令、压缩解压命令、权限管理以及Linux Shell开发等。
第五阶段:Linux运维自动化开发
主要学习Python开发Linux运维、Linux运维报警工具开发、Linux运维报警安全审计开发、Linux业务质量报表工具开发、Kali安全检测工具检测以及Kali 密码破解实战。
第六阶段:Python爬虫
主要学习python爬虫技术,掌握多线程爬虫技术,分布式爬虫技术。
第七阶段:Python数据分析和大数据
主要学习numpy数据处理、pandas数据分析、matplotlib数据可视化、scipy数据统计分析以及python 金融数据分析;Hadoop HDFS、python Hadoop MapRece、python Spark core、python Spark SQL以及python Spark MLlib。
第八阶段:Python机器学习
主要学习KNN算法、线性回归、逻辑斯蒂回归算法、决策树算法、朴素贝叶斯算法、支持向量机以及聚类k-means算法。
关于python后端开发需要学什么的内容,青藤小编就和您分享到这里了。如果您对python编程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于python编程的技巧及素材等内容,可以点击本站的其他文章进行学习。
⑧ python服务器一个客户端转发到另一个客户端
服务器端创建2个soket对象分别绑定不同的端口用于和A,B连接, 然后将recv到A的数据send给B。
python实现一个客户端与服务端的通信 Socket对象方法: 服务端: 使用socket函数来创建一个socket对象,并设置一个socket服务。
Python是一种解释型脚本语言,其在设计上也坚持了清晰划一的风格,这使得Python成为易读、易维护的语言。相比于其他语言,Python中的语言语法和语义要简单得多,而且代码也具有可读性。在大多数情况下,为了解决某一特定的问题,Python编写所需代码,要比其他流行语言所需的代码少得多。因此,对于新手来说,Python是一种很容易上手,并便于维护的语言。
⑨ python网络编程tcp客户端怎么写
大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。
举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新浪的服务器接受了我们的连接,一个TCP连接就建立起来的,后面的通信就是发送网页内容了。
所以,我们要创建一个基于TCP连接的Socket,可以这样做:
# 导入socket库:
import socket
# 创建一个socket:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接:
s.connect(( , 80))
创建Socket时,AF_INET指定使用IPv4协议,如果要用更先进的IPv6,就指定为AF_INET6。SOCK_STREAM指定使用面向流的TCP协议,这样,一个Socket对象就创建成功,但是还没有建立连
⑩ window 下 涛思客户端的安装配置 Python程序如何连接上涛思客户端
立即开始
快捷安装
TDengine 包括服务端、客户端和周边生态工具软件,目前 2.0 版服务端仅在 Linux 系统上安装和运行,后续将支持 Windows、macOS 等系统。客户端可以在 Windows 或 Linux 上安装和运行。在任何操作系统上的应用都可以使用 RESTful 接口连接服务端程序 taosd,其中 2.4 之后版本默认使用单独运行的独立组件 taosAdapter 提供 http 服务和更多数据写入方式。taosAdapter 需要手动启动。 之前版本 TDengine 服务端,以及所有服务端lite版,均使用内置 http 服务。
TDengine 支持 X64/ARM64/MIPS64/Alpha64 硬件平台,后续将支持 ARM32、RISC-V 等 CPU 架构。
通过 Docker 容器安装
docker run -d -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp tdengine/tdengine
详细操作方法请参照通过 Docker 快速体验 TDengine。
注:暂时不建议生产环境采用 Docker 来部署 TDengine 的客户端或服务端,但在开发环境下或初次尝试时,使用 Docker 方式部署是十分方便的。特别是,利用 Docker,可以方便地在 macOS 和 Windows 环境下尝试 TDengine。
从 2.4.0.10 开始,除 taosd 以外,Docker 镜像还包含:taos、taosAdapter、taosmp、taosBenchmark、TDinsight 安装脚本和示例代码。启动 Docker 容器时,将同时启动 taosAdapter 和 taosd,实现对 RESTful 的支持。
通过安装包安装
TDengine 的安装非常简单,从下载到安装成功仅仅只要几秒钟。
为方便使用,从 2.4.0.10 开始,标准的服务端安装包包含了 taos、taosd、taosAdapter、taosmp、taosBenchmark、TDinsight 安装脚本和示例代码;如果您只需要用到服务端程序和客户端连接的 C/C++ 语言支持,也可以仅下载 lite 版本的安装包。
在安装包格式上,我们提供 tar.gz, rpm 和 deb 格式,为企业客户提供 tar.gz 格式安装包,以方便在特定操作系统上使用。需要注意的是,rpm 和 deb 包不含 taosmp、taosBenchmark 和 TDinsight 安装脚本,这些工具需要通过安装 taosTool 包获得。
发布版本包括稳定版和 Beta 版,Beta 版含有更多新功能。正式上线或测试建议安装稳定版。您可以根据需要选择下载:
TDengine-server-2.4.0.12-Linux-x64.rpm (14.5 M)
TDengine-server-2.4.0.12-Linux-x64.deb (12.8 M)
TDengine-server-2.4.0.12-Linux-x64.tar.gz (15.5 M)
TDengine-server-2.4.0.12-Linux-x64-Lite.tar.gz (3.4 M)
TDengine-server-2.3.5.0-beta-Linux-x64-Lite.tar.gz (3 M)
TDengine-server-2.3.5.0-beta-Linux-x64.rpm (18.4 M)
TDengine-server-2.3.5.0-beta-Linux-x64.deb (16.8 M)
TDengine-server-2.3.5.0-beta-Linux-x64.tar.gz (18.8 M)
具体的安装方法,请参见TDengine 多种安装包的安装和卸载以及视频教程。
请点击这里查看 release notes。
使用 apt-get 安装
如果使用 Debian 或 Ubuntu 系统,也可以使用 apt-get 工具从官方仓库安装,设置方法为:
仅安装客户端
如果客户端和服务端运行在不同的电脑上,可以单独安装客户端。下载时请注意,所选择的客户端版本号应该和在上面下载的服务端版本号严格匹配。Linux 和 Windows 安装包如下(其中 lite 版本的安装包仅带有 C/C++ 语言的连接支持,而标准版本的安装包还包含和示例代码):
TDengine-client-2.4.0.12-Linux-x64.tar.gz (8.2 M)
TDengine-client-2.4.0.12-Windows-x64.exe (9 M)
TDengine-client-2.4.0.12-Windows-x86.exe (9 M)
TDengine-client-2.4.0.12-Linux-x64-Lite.tar.gz (3.1 M)
TDengine-client-2.3.5.0-beta-Linux-x64-Lite.tar.gz (2.7 M)
TDengine-client-2.3.5.0-beta-Linux-x64.tar.gz (7.6 M)
TDengine-client-2.3.5.0-beta-Windows-x64.exe (8.9 M)
TDengine-client-2.3.5.0-beta-Windows-x86.exe (8.8 M)
通过源码安装
如果您希望对 TDengine 贡献代码或对内部实现感兴趣,请参考我们的TDengine GitHub 主页下载源码构建和安装.
下载其他组件、最新 Beta 版及之前版本的安装包,请点击这里
轻松启动
安装成功后,用户可使用systemctl命令来启动 TDengine 的服务进程。
检查服务是否正常工作:
如果 TDengine 服务正常工作,那么您可以通过 TDengine 的命令行程序taos来访问并体验 TDengine。
注意:
systemctl 命令需要root权限来运行,如果您非root用户,请在命令前添加 sudo 。
为更好的获得产品反馈,改善产品,TDengine 会采集基本的使用信息,但您可以修改系统配置文件 taos.cfg 里的配置参数 telemetryReporting,将其设为 0,就可将其关闭。
TDengine 采用 FQDN(一般就是 hostname)作为节点的 ID,为保证正常运行,需要给运行 taosd 的服务器配置好 hostname,在客户端应用运行的机器配置好 DNS 服务或 hosts 文件,保证 FQDN 能够解析。
systemctl stop taosd指令在执行后并不会马上停止 TDengine 服务,而是会等待系统中必要的落盘工作正常完成。在数据量很大的情况下,这可能会消耗较长时间。
TDengine 支持在使用systemd做进程服务管理的 Linux 系统上安装,用which systemctl命令来检测系统中是否存在systemd包:
如果系统中不支持systemd,也可以用手动运行/usr/local/taos/bin/taosd方式启动 TDengine 服务。
使用 TDengine 客户端程序
执行 TDengine 客户端程序,您只要在 Linux 终端执行taos即可。
如果连接服务成功,将会打印出欢迎消息和版本信息。如果失败,则会打印错误消息出来(请参考FAQ来解决终端连接服务端失败的问题)。客户端的提示符号如下:
在 TDengine 客户端中,用户可以通过 SQL 命令来创建/删除数据库、表等,并进行插入查询操作。在终端中运行的 SQL 语句需要以分号结束来运行。示例:
除执行 SQL 语句外,系统管理员还可以从 TDengine 客户端进行检查系统运行状态、添加删除用户账号等操作。
命令行参数
您可通过配置命令行参数来改变 TDengine 客户端的行为。以下为常用的几个命令行参数:
-c, --config-dir: 指定配置文件目录,默认为/etc/taos
-h, --host: 指定服务的 FQDN 地址或 IP 地址,默认为连接本地服务
-s, --commands: 在不进入终端的情况下运行 TDengine 命令
-u, --user: 连接 TDengine 服务端的用户名,缺省为 root
-p, --password: 连接 TDengine 服务端的密码,缺省为 taosdata
-?, --help: 打印出所有命令行参数
示例:
运行 SQL 命令脚本
TDengine 终端可以通过SOURCE命令来运行 SQL 命令脚本。
taos shell 小技巧
可以使用上下光标键查看历史输入的指令
修改用户密码:在 shell 中使用ALTER USER命令,缺省密码为 taosdata
Ctrl+C 中止正在进行中的查询
执行RESET QUERY CACHE可清除本地缓存的表 schema
批量执行 SQL 语句。可以将一系列的 shell 命令(以英文 ; 结尾,每个 SQL 语句为一行)按行存放在文件里,在 shell 里执行命令SOURCE <file-name>自动执行该文件里所有的 SQL 语句
输入 q 回车,退出 taos shell
TDengine 极速体验
使用 taosBenchmark 体验写入速度
启动 TDengine 的服务,在 Linux 终端执行taosBenchmark(曾命名为 taosdemo)。taosBenchmark 在 TDengine 2.4.0.7 和之前发布版本在 taosTools 安装包中发布提供,在后续版本中 taosBenchmark 将在 TDengine 标准安装包中发布。
该命令将在数据库 test 下面自动创建一张超级表 meters,该超级表下有 1 万张表,表名为 "d0" 到 "d9999",每张表有 1 万条记录,每条记录有 (ts, current, voltage, phase) 四个字段,时间戳从 "2017-07-14 10:40:00 000" 到 "2017-07-14 10:40:09 999",每张表带有标签 location 和 groupId,groupId 被设置为 1 到 10, location 被设置为 "beijing" 或者 "shanghai"。
这条命令很快完成 1 亿条记录的插入。具体时间取决于硬件性能,即使在一台普通的 PC 服务器往往也仅需十几秒。
taosBenchmark 详细功能列表
taosBenchmark 命令本身带有很多选项,配置表的数目、记录条数等等,请执行taosBenchmark --help详细列出。您可以设置不同参数进行体验。
taosBenchmark 详细使用方法请参照如何使用 taosBenchmark 进行性能测试。
使用 taos shell 体验查询速度