MySQL調優(mamcache)
架構
Web+memcache [192.168.5.14]
Memcached [192.168.5.16]
Mysql [192.168.5.15]
搭建lamp架構[5.14]
yum install http* php* mysql* -y
添加網站
/etc/init.d/httpd start
修改網頁配置
vim read.php
$memcachehost = '192.168.5.16';
$conn=mysql_connect("192.168.5.15","root","123456");
vim write.php
安裝memcache用戶端
tar xf memcache-2.2.7.tgz -C /usr/src/
cd memcache-2.2.7/
ls(沒有configure的解決方法)
phpize(-bash:phpize: command not found 的解決方法:yum install php-devel)
./configure --enable-memcache--with-php-config=/usr/bin/php-config
make && make install
vim /etc/php.ini(查找PHP調用子產品的存放目錄)
extension_dir = "/usr/lib/php/modules
ls /usr/lib/php/modules(檢視PHP可以調用哪些子產品)
dbase.so memcache.so phpcups.so
vim /etc/php.ini
extension_dir ="/usr/lib/php/modules"(該行下加入)
extension=memcache.so(讓PHP調用memcache子產品)
/etc/init.d/httpd reload
php –m(檢視PHP調用哪些子產品,等價于通路<?phpphpinfo()?>這個頁面)
必須有memcache 和mysql子產品
安裝MySQL
yum install mysql* -y
/etc/init.d/mysqld start
建資料庫
# mysql
mysql> create database db1;
mysql> use db1;
mysql> create table T1(IDint)engine=innodb;
mysql> grant all on *.* to'root'@'192.168.5.14' identified by '123456';
mysql> flush privileges;
mysql> exit
生成資料
seq 1 19999999 >/tmp/big
mysql> load data infile '/tmp/big'into table T1;
遠端測試
mysql -h 192.168.5.15 -u root -p123456
安memcached服務端
tar xf libevent-2.0.22-stable.tar.gz -C/usr/src/
cd libevent-2.0.22-stable/
./configure --prefix=/usr/local/libevent && make&& make install
tar xf memcached-1.4.22.tar.gz -C/usr/src/
./configure--prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
開啟memcached
/usr/local/memcached//bin/memcached -uroot -p 11211 -l 192.168.5.16 -P /var/run/memcached.pid -m 128m -c 2048 –d
-u 運作memcache服務的使用者
-P 端口号
-l 監聽位址
-p(大) 指定pid放到哪個檔案中
-m 從記憶體上劃分多少容量來緩存資料
-c 并發是多少
-d 以背景執行