centos apache bench,centos下载软件并安装

大家好,今天小编来为大家解答以下的问题,关于centos apache bench,centos下载软件并安装这个很多人还不知道,现在让我们一起来看看吧!

如何生成每秒百万级别的 http 请求

在进行负责测试时要牢记一件重要的事:你能在 Linux上建立多少个 socket连接。这个**是硬编码在内核里的,最典型的就是临时 W端口的**。(在某种程度上)你可以在/etc/sysctl.conf里扩展它。但是基本上,一台 Linux机器只能同时打开大约 64,000个 socket。因此在负载测试时,我们不得不通过在单一的连接上尽可能多地发出请求来充分利用 socket。除此之外,我们还需要不止一台的机器来产生负载。否则,负载生成器会把可用的 socket占用导致不能产生足够的负载。

我一开始用的是‘ab’,Apache Bench。它是我所知道的 http基准测试工具中最简单、最通用的。并且它是 Apache附带的产品,因此它可能已经存在于你的系统中。不幸的是,我在使用它的时候每秒大约只能生成 900个请求。虽然我见过其他人使用它每秒能达到 2,000个请求,但我可以立即告诉你,‘ab’并不适合我们的基准测试。

Httperf

接着,我尝试了‘httperf’。这个工具更强大,但是它依然相对简单并且功能有限。要算出每秒生产了多少个请求并不是仅传递参数那么简单。经过我的多次尝试,获取了每秒超过几百请求的结果。例如:

它以每秒 1,000个的速率创建了 100,000个会话(session)。每次会话发起 5次请求,时间间隔为 2秒。

httperf--hog--server=192.168.122.10--wsess=100000,5,2--rate 1000--timeout 5

Total: connections 117557 requests 219121 replies 116697 test-duration 111.423 s

Connection rate: 1055.0 conn/s(0.9 ms/conn,<=1022 concurrent connections)

Connection time [ms]: min 0.3 avg 865.9 max 7912.5 median 459.5 stddev 993.1

Connection time [ms]: connect 31.1

Connection length [replies/conn]: 1.000

Request rate: 1966.6 req/s(0.5 ms/req)

Request size [B]: 91.0

Reply rate [replies/s]: min 59.4 avg 1060.3 max 1639.7 stddev 475.2(22 samples)

Reply time [ms]: response 56.3 transfer 0.0

Reply size [B]: header 267.0 content 18.0 footer 0.0(total 285.0)

Reply status: 1xx=0 2xx=116697 3xx=0 4xx=0 5xx=0

CPU time [s]: user 9.68 system 101.72(user 8.7% system 91.3% total 100.0%)

Net I/O: 467.5 KB/s(3.8*10^6 bps)

最终,我使用这些设置达到了每秒 6,622个连接:

httperf--hog--server 192.168.122.10--num-conn 100000--ra 20000--timeout 5

(总共创建了 100,000个连接,并且以每秒 20,000个连接的固定速率创建)

它还有一些潜在的优势,并且拥有比‘ab‘更多的特性。但它不是我要用在这个项目里的重量级工具。我需要的是能够支持分布式多负载测试节点的工具。因此,我的下一个尝试是:Jmeter。

Apache Jmeter

这是一个功能齐全的 web应用测试套件,它可以模拟真实用户的所有行为。你可以使用 Jmeter的代理去访问你的网站,进行点击、登陆、模仿用户可以做的所有行为。Jemeter会把这些行为记录下来作为测试用例。然后 Jmeter会反复执行这些动作来模拟你想要的用户数量。尽管配置 Jmeter比‘ab‘和’httperf‘复杂得多,但它是一个很有趣的工具!

根据我的测试,它每秒可以产生 14,000个请求!这绝对是一个好的进展。

我使用了 Googlle Code project上的一些插件,并且使用它们的“Stepping Threads”和“HTTP RAW”请求,最终每秒大约可以产生 30,000个请求!但这已经达到极限了,所以还要寻找另一个工具。这里有一个我之前的 Jmeter配置,希望可以帮助到其他人。虽然这个配置离完美相差甚远,但有时它可以满足你的要求。

Tsung:重型的(heavy-duty)、分布式的、多协议测试工具

它每秒基本可以产生 40,000个请求,这绝对是我们想要的工具。类似于 Jmeter,你可以把一些行为记录下来在测试时运行,并且可以测试大多数的协议。比如 SSL、HHTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP和 Jabber/XMPP。与 Jmeter不同的是,它没有让人感到迷茫的 GUI设置,它仅有一个 XML配置文件,和一些你选择的分布式节点的 SSH密钥。它的简洁和效率对我的吸引力,完全不亚于它的健壮性和可扩展性。我发现它是一个很强大的工具,在正确的配置下它可以每秒产生百万级的 HTTP请求。

除此之外,Tsung还可以在 html上产生图表以及输入你的测试的详细报告。测试的结果通俗易懂,并且你甚至可以把这些图片展示给你的 boss看!

在这个系列文章的剩余部分,我还会讲解这个工具。现在你可以继续浏览下面的配置说明,或者直接跳到下一页。

在 CentOS 6.2上安装 Tsung

首先,你要安装(Erlang需要的) EPEL源。因此,在进行下一步之前要把它安装好。安装完后,继续安装你用来产生负载的每个节点需要的包。如果你还没有在节点之间建立无密码 SSH密钥(passwordless SSH key),那么请建立之。

yum-y install erlang perl perl-RRD-**.noarch perl-Log-Log4perl-RRDs.noarch gnuplot perl-Template-Toolkit firefox

从 Github或者 Tsung的官网上下载最新的 Tsung。

wget

解压并且编译。

tar zxfv tsung-1.4.2.tar.gz

cd tsung-1.4.2

./configure&& make&& make install

把示例配置复制到~/.tsung目录里。这是 Tsung的配置文件和日志文件的存放地方。

cp/usr/share/doc/tsung/examples/http_**.xml/root/.tsung/tsung.xml

你可以根据你的需求去编辑这个配置文件,或者使用我的配置文件。经过大量的尝试以及失败后,我目前的配置文件在使用 7个分布式节点时可以每秒产生 5百万个 HTTP请求。

<?xml version="1.0"?>

<!DOCTYPE tsung SYSTEM"/usr/share/tsung/tsung-1.0.dtd">

<tsung loglevel="notice" version="1.0">

<clients>

<client host="localhost" weight="1" cpu="10" maxusers="40000">

<ip value="192.168.122.2"/>

</client>

<client host="loadnode1" weight="1" cpu="9" maxusers="40000">

<ip value="192.168.122.2"/>

</client>

<client host="loadnode2" weight="1" maxusers="40000" cpu="8">

<ip value="192.168.122.3"/>

</client>

<client host="loadnode3" weight="1" maxusers="40000" cpu="9">

<ip value="192.168.122.21"/>

</client>

<client host="loadnode4" weight="1" maxusers="40000" cpu="9">

<ip value="192.168.122.11"/>

</client>

<client host="loadnode5" weight="1" maxusers="40000" cpu="9">

<ip value="192.168.122.12"/>

</client>

<client host="loadnode6" weight="1" maxusers="40000" cpu="9">

<ip value="192.168.122.13"/>

</client>

<client host="loadnode7" weight="1" maxusers="40000" cpu="9">

<ip value="192.168.122.14"/>

</client>

</clients>

<servers>

<server host="192.168.122.10" port="80" type="tcp"/>

</servers>

<load>

<arrivalphase phase="1" duration="10" unit="minute">

<users maxnumber="15000" arrivalrate="8" unit="second"/>

</arrivalphase>

<arrivalphase phase="2" duration="10" unit="minute">

<users maxnumber="15000" arrivalrate="8" unit="second"/>

</arrivalphase>

<arrivalphase phase="3" duration="30" unit="minute">

<users maxnumber="20000" arrivalrate="3" unit="second"/>

</arrivalphase>

</load>

<sessions>

<session probability="100" name="ab" type="ts_http">

<for from="1" to="10000000" var="i">

<request><http url="/test.txt" method="GET" version="1.1"/></request>

</for>

</session>

</sessions>

</tsung>

阿里云服务器ecs怎样搭建网站

看到这么多回答,也讲的比较细致了。我再来个相对比较简单好用的一键部署WordPress搭建流程。

关于怎么购买阿里云服务器以及域名这里就不写了。可以先去阿里云官网领取代金券,然后再买,划算些。

下面写写拥有云服务器和域名后,如何开始搭建一个WordPress博客网站:

用阿里云服务器搭建一个WordPress网站主要有以下几种方式:

第一种,在购买的时候镜像选择“镜像市场”里面的linux+wordpress版本,也就是已经提前安装了特定环境的版本。登陆云服务器后,就可以直接开始安装配置WordPress了。

第二种,镜像选择“公共镜像”里的linux系统(比如centos7),然后手动配置好服务器环境,再安装WordPress。

第三种,也是最简单,比较推荐新手使用的一种,就是选择“公共镜像”里的linux系统后,云服务器里什么都不要安装,使用纯净的系统,一键安装宝塔面板,然后登陆宝塔面板,可视化操作,一键部署环境和安装WordPress。

下面详细讲讲第三种方法:

在购买云服务器时,地域选择国内是需要备案的,选择中国香港或者海外服务器是不需要备案的。

云服务器内存建议在4G或者以上(避免卡顿的情况),操作系统建议选择CentOS7版本,如下图

下面说说用阿里云服务器建立个人网站(以WordPress为例)的具体流程:

搭建之前,请先将你的域名解析到云服务器公网ip,新手可以选择“快速添加网站解析”,如下图:

1.购买好云服务器后,登陆到你的控制台,找到你购买的“云服务器”,登陆进去。

2.这时候应该打开了云服务器的命令行终端(阿里云或腾讯云登陆后都是一样的),我们只需把下面一行代码输入,然后按回车键即可。

yum install-y wget&& wget-O install.sh ; sh install.sh

3.我们耐心等待一会儿,等宝塔面板自动安装完成(中间若出现是否安装*Y/N?时,我们只需要输入y就行了)。

安装完成后,我们接着再命令行输入bt,这个时候就会显示面板的使用帮助菜单选项。

bt

4.这时候我们输入数字14,就能看到宝塔面板的登录地址还有用户名和密码。

5.我们把登录地址复制到浏览器打开,输入用户名和密码,进入到宝塔面板的后台管理页面。一般来说,首次登陆进来面板后,会自动推荐你安装环境套件,这里有两种选择,第一种是LNMP套件,第二种是LAMP套件。如图(建议选择一键安装LNMP)

6.为安全起见,建议修改你的用户名和密码,以及面板默认端口。

注意:修改面板端口之前,记得在你的阿里云或者腾讯云控制台,找到你的云服务器,在“安全组”一栏下修改规则,选择入站规则下的“添加规则”。

关于其他的安全设置,我们下一篇文章再讲,这里就先设置到这里。

7.下面我们开始来一键部署WordPress建站程序,(提示:如果前面你没有安装LNMP环境或者LAMP环境,也不要着急,我们可以在软件搜索步骤5列出的几个套件手动安装),点击面板左侧“软件商店”,然后找到WordPress,选择一键部署。

8.输入你的网站信息,即你的域名。另外,为了避免出现不可知的错误,新手建议不要修改默认创建的数据库名和命令,自己把它存储好就行。(当点击提交后,系统会自动列出数据库名和密码以及网站地址,请保存好这些信息,后面进入WordPress安装需要填写)

9.在线安装WordPress网站程序的时候,先选择语言“简体中文”,然后填写数据库名和密码(就是上一步叫你保存的)

10.中间几步省略了,安装步骤填写就行。安装完成后,登陆你的Wordpress管理后台。(后台登陆地址为:你的网址或ip/wp-admin)

11.到这里,你的WordPress网站就搭建成了。接着你可以去发布文章或更换主题,以及后期的维护等等,这里就不细说了。

12.最后,如何在宝塔面板管理添加站点呢。点击左侧“网站”,选择右边的“添加站点”。接着在弹出的窗口里,填写好你的新站点信息即可。(如果只是部署静态网站的话,就不需要创建数据库)

13.然后访问你的网站地址就会显示创建成功!

14.接着你可以将你的静态网站源码上传到你的网站目录里,也可以手动部署WordPress网站(需要在上一步里创建数据库)。

15.当然,如果你要做的是Wordpress网站,那么建议你先不要添加站点(即省略以上添加站点的步骤),直接在面板左侧“软件商店”选择一键

部署WordPress即可(这时会帮你自己创建数据库,或者手动更改也行),同时也会自动创建站点,部署WordPress成功后,回到你的“网站”目录里就可以看到自己的站点了。

CentOS5.3 - mysql-6.0.10-alpha 源代码和设置

1,下载mysql数据库源代码: mysql-6.0.10-alpha.tar.gz 2,解压文件比较多,解压也一段时间。 src]# tar vxzf mysql-6.0.10-alpha.tar.gz 3,进入目录进行->配置,编译,安装 ]# cd mysql-6.0.10-alpha配置生成 makefile文件 ]#./configure--sysconfdir=/etc checking for termcap functions library... configure: error: No curses/termcap library found出现错误,也就是生成 makefile文件出错了。 [root@localhost mysql-6.0.10-alpha]# make make:*** No targets specified and no makefile found. Stop.如果你硬要输入 make命令是不行的,因为 makefile根本没有生成成功。解决办法:我们加入--with-named-curses-libs=/usr/lib/libncursesw.so.5进行生成 makefile./configure--sysconfdir=/etc--with-named-curses-libs=/usr/lib/libncursesw.so.5 Thank you for choosing MySQL!看到这句话,生成 makefile成功了。下面进行make编译:需要的时间比较长。 ]# make编译安装虽然花费的时间比较长,但是它应该可以适合任何一个发行版本的 Linux,编译的中途过程我就不播放视频出来了,截断一部分。我现在已经编译完成。 make[1]: Leaving directory `/opt/mysql-6.0.10-alpha/sql-bench' Making all in win make[1]: Entering directory `/opt/mysql-6.0.10-alpha/win' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/opt/mysql-6.0.10-alpha/win'最后进行安装 ]# make install编译安装完毕,有时候需要很长时间,如何判断是否死机?注意观察主机的硬盘灯,编译安装时候硬盘灯是一闪一闪的,有数据读取。下面拷贝配置文件 ]# cp/usr/local/share/mysql/my-large.cnf/etc/my.cnf以后配置mysql,就修改/etc/my.cnf即可 4,初始化数据库# useradd-d/usr/local/var mysql# su- mysql$/usr/local/bin/mysql_install_db初始化出现错误。 Installing MySQL system tables... 090518 7:16:41 [ERROR]/usr/local/libexec/mysqld: unknown option'--skip-federated' 090518 7:16:41 [ERROR] Aborting 090518 7:16:41 [Note]/usr/local/libexec/mysqld: Shutdown complete我们解决办法是,先删掉/usr/local/var下的 mysql文件夹 rm-rf/usr/local/var/mysql然后修改 vi/etc/my.cnf找到skip-federated注释掉,也就是改成####skip-federated然后保存退出 su- mysql用会 mysql身份,来重新初始化/usr/local/bin/mysql_install_db这次成功了吧,没有出现错误信息。 5,启动服务器 [mysql@localhost var]$/usr/local/bin/mysqld_safe&现在成功了,用 netstat-tnl看到 3306熟悉的 mysql默认端口 6,登陆测试 [mysql@localhost local]$ mysql-u root成功的话,出现 mysql> mysql>\s mysql>\q可以使用 show databases;一般,如果你是编译安装mysql,建议你像我下面的做法提升为 root用户, su- cp/usr/local/share/mysql/mysql.server/etc/init.d/mysqld mysql关闭的命令为:/etc/init.d/mysqld stop [root@localhost~]#/etc/init.d/mysqld stop Shutting down MySQL.090518 07:26:41 mysqld_safe mysqld from pid file/usr/local/var/localhost.localdomain.pid ended SUCCESS!就会显示关闭成功。 mysql启动的命令为:/etc/init.d/mysqld start [root@localhost~]#/etc/init.d/mysqld start Starting MySQL. SUCCESS!下面修改服务器启动时候,就自动运行 mysql 6.0 vi/etc/rc.d/rc.local我把它运行在 tomcat前面,然后保存退出。#####################分隔######################--查看数据库的字符集 show variables like'character\_set\_%'; show variables like'collation_%'; 13:15浏览(587)评论(0)分类: CentOS 2009-07-21缩略显示 CentOS5.3编译 mod_jk 1.2.15链接器整合apache httpd和 tomcat关键字: centos mod_jk现在我们来做一个整合,也就是当访问 apache 80端口时候遇到 jsp文件也可以正常访问。如果不整合,你的apache 80是不能运行jsp文件的,只能使用8080端口,也就是tomcat来访问。如何整合呢?要借助一个叫做 apache tomcat的链接器。下面是官方网站的下载地址,目前为止最新版是 1.2.15。。。 文章最后我会把这个工具提供下载,如果官方网站太慢的话。首先下载 jakarta-tomcat-connectors-1.2.15-src.tar.gz到服务器解压 ]# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz注意是进入: jk/native这个目录 ]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native请确认你的 apache的 apxs文件位置 native]#./configure--with-apxs=/usr/local/apache2/bin/apxs编译生成mod_jk native]# make拷贝编译完成生成的 mod_jk.so文件,这里也是要注意你的apache modules目录位置 native]# cp./apache-2.0/mod_jk.so/usr/local/apache2/modules/===============================================修改apache配置文件# vi/etc/httpd.conf在DirectoryIndex中添加 index.jsp<IfModule dir_module> DirectoryIndex index.html index.jsp</IfModule>增加关于加载mod_jk的语句: LoadModule jk_module modules/mod_jk.so Include/usr/local/apache2/conf/mod_jk.conf添加以下内容(添加的时候去掉注释,可能文件不能显示中文):######指出mod_jk模块工作所需要的工作文件workers.properties的位置 JkWorkersFile/usr/local/apache2/conf/workers.properties###### Where to put jk logs JkLogFile/usr/local/apache2/logs/mod_jk.log###### Set the jk log level [debug/error/info] JkLogLevel info###### Select the log format JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"###### JkOptions indicate to send SSL KEY SIZE, JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories###### JkRequestLogFormat set the request format JkRequestLogFormat"%w%V%T"######将所有servlet和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理 JkMount/servlet/* worker1 JkMount/*.jsp worker1 JkMount/*.do worker1把一些注释去掉吧,只些一些起作用的语句上去。保存退出。===================================================在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.propertie注意:(如果没有 conf目录,可以建立,因为我安装时指定把 httpd.conf放在/etc下的,就没有 conf目录了)# vi mod_jk.conf添加以下内容(添加的时候去掉注释,可能文件不能显示中文):######指出mod_jk模块工作所需要的工作文件workers.properties的位置 JkWorkersFile/usr/local/apache2/conf/workers.properties###### Where to put jk logs JkLogFile/usr/local/apache2/logs/mod_jk.log###### Set the jk log level [debug/error/info] JkLogLevel info###### Select the log format JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"###### JkOptions indicate to send SSL KEY SIZE, JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories###### JkRequestLogFormat set the request format JkRequestLogFormat"%w%V%T"######将所有servlet和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理 JkMount/servlet/* worker1 JkMount/*.jsp worker1 JkMount/*.do worker1------------------------------------------------------------# vi workers.properties添加以下内容:####### Defining a worker named worker1 and of type ajp13 worker.list=worker1####### Set properties for worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300-------------------我的tomcat配置文件路径:/usr/local/tomcat/conf/server.xml最后编辑Tomcat的配置文件server.xml,在<Host段中加入:<Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="true" crossContext="true"/>重新启动Apache和Tomcat。。。 [root@localhost bin]#./shutdown.sh Using CATALINA_BASE:/usr/local/tomcat Using CATALINA_HOME:/usr/local/tomcat Using CATALINA_TMPDIR:/usr/local/tomcat/temp Using JRE_HOME:/usr/java/jdk1.7.0 [root@localhost bin]#./startup.sh Using CATALINA_BASE:/usr/local/tomcat Using CATALINA_HOME:/usr/local/tomcat Using CATALINA_TMPDIR:/usr/local/tomcat/temp Using JRE_HOME:/usr/java/jdk1.7.0#/usr/local/apache2/bin/apachectl stop#/usr/local/apache2/bin/apachectl start刚才我在修改 httpd.conf可能写入了一些多余信息导致apache配置文件出错,我注释就可以了。在/usr/local/apache2/htdocs/下删掉 index.html建立一个index.jsp,写入一些简单的内容:<% out.println("Hello www.17rumen.com");%>用浏览器访问服务器 ,看到正确的页面了。说明apache遇到jsp页面,它可以提交给 tomcat去处理。。。 18:21浏览(315)评论(0)分类: CentOS 2009-07-21缩略显示 centos“You don't have permission to access/index.html on this server.”关键字: centos Forbidden You don't have permission to access/index.html on this server.开始我以为我配置出错,花半天时间都没有搞定,今天终于搞定了.原因:index.html是用root用户建的文件,apache权限不够。解决方法:更改文件权限;chmod 755 index.html 17:09浏览(498)评论(0)分类: CentOS 2009-07-17缩略显示 CentOS5.3编译安装 apache 2.2.11 web服务器(httpd-2.2.11.tar.gz)关键字: centos apache(现检测是否已经安装apapche,如果有的话请卸载后重新安装) 1,首先你必须下载: httpd-2.2.11.tar.gz当然你也可以到官方 上下载。 2,解压 src]# tar vxzf httpd-2.2.11.tar.gz 3,进入目录# cd httpd-2.2.11 httpd-2.2.11]#./configure--sysconfdir=/etc--enable-ssl--enable-modules配置文件放在/etc下 no SSL-C headers found configure: error:...No recognized SSL/TLS toolkit detected没有ssl我们,生成makefile文件失败,以后再安装 openssl也可以 httpd-2.2.11]#./configure--sysconfdir=/etc--enable-modules好,这次没有发现什么错误,--enable-modules这个强烈建议加上,也就是说以后apache可以添加其他的模块,方便很多。下面进行编译,make编译需要一定的时间,不过比起编译mysql要快些。 httpd-2.2.11]# make下面进行安装 httpd-2.2.11]# make install安装完成了。。。 4,启动服务测试一下吧。 ]#/usr/local/apache2/bin/apachectl start&# netstat-tnl可以看到 80端口,说明apache启动了。 tcp 0 0:::80:::* LISTEN打开浏览器进行访问吧。# ifconfig查看 Linux服务器ip地址。 inet addr:192.168.138.128 看到It works!说明正常工作了 cd/usr/local/apache2/可以看到 htdocs就是 web服务器的目录所在你可以想我这样 vi test.html上面写一些信息,然后进行访问。让Apache自动启动# echo"/usr/local/apache2/bin/apachectl start&">>/etc/rc.local(或者手动在/etc/rc.d/rc.local中设置)好,然后重启服务器,就可以发现 apache自动启动了

阅读剩余
THE END