菜鸟学Linux 第059篇笔记 编译安装MySQL,PHP 压力测试

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

菜鸟学Linux 第059篇笔记 编译安装MySQL,PHP 压力测试



安装二进制格式的MySQL

# tar -xf mysql-5.5.54-linux2.6-i686.tar.gz -C /usr/local/

# cd /usr/local/

# ln -sv mysql-5.5.54-linux2.6-i686 mysql

# groupadd -r -g 306 mysql

# useradd -u 306 -r -g 306 mysql (创建MySQL的用户和组)

# chown -R mysql.mysql .  更改解压的MySQL文件的属主属级为mysql:mysql

# scripts/mysql_install_db --user=mysql

# chown -R root /usr/local/mysql

# chown -R mysql data

# cp suppot-files/my-huge.cnf /etc/my.cnf

# vim /etc/my.cnf

# Try number of CPU's*2 for thread_concurrency 

thread_concurrency = 8 (自行看CPU而修改)

在此后添加一行 datadir = /mydata/data (这个是数据放在哪里自行定义)

# cp support-files/mysql.server /etc/init.d/mysqld

# ckconfig -add mysqld

添加环境变量

# vim /etc/profile.d/mysql.sh

添加一行 export PATH=$PATH:/usr/local/mysql/bin

可选安装

1、添加mysql的man文档

# vim /etc/man.config

在MANPATH处添加一行

MANPATH /usr/local/mysql/man

2、输出mysql库文件

# vim /etc/ld.so.conf.d/mysql.conf

添加一行/usr/local/mysql/lib  (此处添加不会立即重新,需重启)

# ldconfig -v 在不重新启动系统情况下重新读取库文件


库文件缓存路径 /etc/ld.so.cache

3、输出头文件

ln -sv /usr/local/mysql/include /usr/include/mysql


(至此MySQL已经完成安装)




MySQL配置文件格式,集中式配置文件,可以为多个程序提供配置

[mysql]

abc...


[mysqld]

abc...


[client]

abc


mysql查找配置文件顺序

/etc/my.cnf --> /etc/mysql/my.cnf --> $BASEDIR/my.cnf (一般为安装目录) -->

$BASEDIR/my.cnf --> ~/.my.cnf  

(如果配置文件冲突,后一个会覆盖前一个)



MySQL服务器维护了两类变量

服务器变量:information_schema

定义MySQL服务器运行特性

SHOW GLOBAL VARIABLES [LIKE 'STRING']

状态变量:performance_schema

保存了MySQL服务器运行统计数据

SHOW GLOBAL STATUS [LIKE 'STRING'];



MySQL通配符

_ 任意单个字符

% 任意长度任意个字符



PHP 编译安装

php53-mbstring multi-bytes string 

用来支持中文,或非一个字节可以表示字符的那些语言

编译安装

# tar xf php-5.4.13.tar.bz2

# cd php-5.4.13 

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql 

--with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config 

--enable-mbstring --with-freetype-dir --with-jped-dir --with-png-dir 

--with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets 

 --with-apxs2=/usr/local/apache/bin/apxs --with-mycrypt 

 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d 

 --with-bz2 --enable-maintainer-zts

(注意这些是一行命令)

注解以上几个参数

--with-mycrypt

加密传递php 但是要使用此功能需要安装其它安装包

libmcrypt-2.5.7-5.el5.i386.rpm

libmcrypt-devel-2.5.7-5.el5.i386.rpm

mhash-0.9.2-6.el5.i386.rpm

mhash-devel-0.9.2-6.el5.i386.rpm

--with-apxs2=/usr/local/apache/bin/apxs

将php编译成模块 让httpd在解析动态php脚本时,掉用php库文件来解析

而不是启用另外一个进程,来解析php动态文件,直接在httpd进程内部

进行动态脚本解析

# make 

# make install


为php提供配置文件

# cp php.ini-production /etc/php.ini


让httpd能够理解和处理.php结尾的文件

# vim /etc/httpd/httpd.conf

/AddType  搜索找到以AddType开头的行,在其行后添加如下两行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

/DirectoryIndex 查找到此处在其后加入index.php

DirectoryIndex index.php index.html (这个是我加入之后的,之前没有)

(重新启动httpd服务 service httpd restart)




PHP支持扩展功能:

xcache

Apc

php-mycrypt



安装PHP扩展功能Xcache

# tar -xf xcache-2.0.0.tar.bz2

# /usr/local/php/bin/phpize

# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

# make 

# make install 会输出如下一段信息 复制此段信息

/usr/local/php/lib/php/extensions/no-debug-zts-20100525/

# mkdir /etc/php.d

# cp xcache.ini /etc/php.d/

# vim /etc/php.d/xcache.ini 

找到一项为zend_extension =  将等于后全部删除

然后把刚刚上边所输出的信息粘贴等于号后,然后再在其后添加xcache.so

完成后的样子

zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.s

将zend_extension_ts =此行注释掉 注意是使用;来注释

(至此Xcache可正常进行工作)


新版httpd建立VirtualHost

注释中心主机

#DocumentRoot "/usr/local/apache/htdocs"

启用虚拟主机

# Virtual hosts 

#Include /etc/httpd/extra/httpd-vhosts.conf

(将上一行的#号去除却可) 

编辑虚拟主机配置文件 vim /etc/httpd/extra/httpd-vhosts.config

(里面有案例,照着修改即可) 以下是我自己做的虚拟机

(注意这里边不需要再声明NameVirtualHost *:80)

(注意权限,此版本必须要加directory 里边的权限如果不设置默认禁止访问)

<VirtualHost 192.168.11.122:80>

DocumentRoot "/web/mysky.com"

ServerName www.mysky.com

<Directory "/web/mysky.com">

Options none

AllowOverride none

Require all granted

</Directory>

ErrorLog "/var/log/httpd/mysk.com-error"

CustomLog "/var/log/httpd/mysky.com-access" common

</VirtualHost>


<VirtualHost 192.168.11.122:80>

DocumentRoot "/web/websql.com"

ServerName www.websql.com

<Directory "/web/websql.com">

Options none

AllowOverride none

Require all granted

</Directory>

ErrorLog "/var/log/httpd/webmysql.com-error"

CustomLog "/var/log/httpd/webmysql.com-access" common

</VirtualHost>

(建立完成后需要创建/var/log/httpd目录和网站文件即可访问相应的站点) 

至此你的虚拟主机即可正常工作!!!



如何启用httpd ssl功能

vim /etc/httpd/httpd.conf

#LoadModule ssl_module modules/mod_ssl.so 将此项启用 即去除#

#Include /etc/httpd/extra/httpd-ssl.conf  此项也启用 去除#

然后配置/etc/httpd/extra/httpd-ssl.conf

此配置和之前配置ssh相同 详细可看前边的章节

网站性能测试

ab (Apache HTTP server benchmarking tool)

-c concurrency

  Number of multiple  requests  to  perform  at  a

  time. Default is one request at a time.

-n requests

  Number of requests to perform for the benchmark-

  ing session. The default is to  just  perform  a

  single request which usually leads to non-repre-

  sentative benchmarking results.

ab -c 10 -n 100 http://www.mysky.com/index.php 

解释一下里边的重要参数

Time taken for tests:   0.202 seconds  从发起到结束一共花费时长

Complete requests:      100  成功请求数量

Failed requests:        4 失败请求数量

Write errors:  失败写入次数

Total transferred:      4883895 bytes  总传输数据量

HTML transferred:       4867295 bytes  其中html传输的大小

Requests per second:    253.99 [#/sec] (mean)  每秒钟完成请求个数

Time per request:       39.372 [ms] (mean)  并发一次 完成所需时间

Time per request:       3.937 [ms] (mean, across all concurrent requests)

单个请求所需要用的时间

Transfer rate:          12113.70 [Kbytes/sec] received

传输速率


vmstat 1

vmstat - Report virtual memory statistics

web压力测试工具

ab

http_load

webbench

siege

网站:

rpmfind.net 可以查询rpm包


本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1885888如需转载请自行联系原作者


Winthcloud
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
SQL Java 关系型数据库
MySQL原理简介—3.生产环境的部署压测
本文介绍了Java系统和数据库在高并发场景下的压测要点: 1. 普通系统在4核8G机器上每秒能处理几百个请求 2. 高并发下数据库建议使用8核16G或更高配置的机器 3. 数据库部署后需进行基准压测,以评估其最大承载能力 4. QPS和TPS的区别及重要性 5. 压测时需关注IOPS、吞吐量、延迟 6. 除了QPS和TPS,还需监控CPU、内存、磁盘IO、网络带宽 7. 影响每秒可处理并发请求数的因素包括线程数、CPU、内存、磁盘IO和网络带宽 8. Sysbench是数据库压测工具,可构造测试数据并模拟高并发场景 9. 在增加线程数量的同时,必须观察机器的性能,确保各硬件负载在合理范围
|
3月前
|
安全 Linux 虚拟化
|
4月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
244 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
25天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
67 7
|
28天前
|
安全 Linux 测试技术
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
|
2月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
85 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
2月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
60 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
3月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
100 4
|
3月前
|
关系型数据库 MySQL 测试技术
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
142 5
|
4月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
85 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建