聪明屋视角

关注互联网,关注技术开发,透析与分享移动互联网行业最新动态

高并发缓存mysql的配置存储过程

时间:2019-02-17 13:41:01    阅读:66985次 分类:解决方案
缓存机制 缓存集群 e-accelerator,比较特殊,php的缓存和加速器。是一个免费开源的php加速、优化、编译和动态缓存的项目,它可以通过缓存php代码编译后的结果来提高php脚本的性能,使得一向很复杂和离我们很远的 php脚本编译...

缓存机制 缓存集群


e-Accelerator,比较特殊,PHP的缓存和加速器。是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的 PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍。


简单的缓存策略也能大大提升网站性能。
例如,Youtube把首页最新的视频列表缓存60秒,也就是说60秒内并发的request都是从缓存读取的,大大减少了数据库压力。再加上CDN,使得Youtube首页的并发访问速度很快。


mysql 集群读写分离  web server 应用分组
http://www.cnblogs.com/luckcs/articles/2543607.html


图片服务器

http://www.infoq.com/cn/articles/yupoo-partition-database/

服务器选择 tengine

mysql http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar

mysql 优化------------------------------------------------
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
分库 分表
slow_query_log //慢查询日志
mysql> show global variables like 'slow%';慢查询
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2

查看mysql 链接数
SHOW STATUS LIKE  'threads%';
Threads_created表示创建过的线程数

mysql> show variables like 'thread_cache_size';

根据调查发现以上服务器线程缓存thread_cache_size没有进行设置,或者设置过小,这个值表示可以重新利用保存在缓存中线程的数量,当断开 连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线 程将被重新创建,如果有很多新的线程,增加这个值可以改善系统性能.通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。

1、mysql> set global thread_cache_size=16///重启mysql 后失效
2、编辑/etc/my.cnf 更改/添加
[mysqld]
thread_cache_size=16

---------------------
这是是查询数据库当前设置的最大连接数
mysql> show variables like '%max_connections%';

可以在/etc/my.cnf里面设置数据库的最大连接数
[mysqld]
max_connections = 1000

mysql数据库插入速度和读取速度的调整记录--------------------------
1. innodb_flush_log_at_trx_commit 配置设定为0//2时只有操作系统挂掉时才会丢失数据
2. 将 innodb_autoextend_increment 配置由于默认8M 调整到 128M
3. 将 innodb_log_buffer_size 配置由于默认1M 调整到 16M
4. 将 innodb_log_file_size 配置由于默认 8M 调整到 128M 


分库应用
跟随应用分库,一个总库做整体查询
做数据库同步,做容错(分库同步到总库)
order表 分表查询 中间件 where uid 做库键值查询
中间件拆分uid 找库
mysql 优化------------------------------------------------

mysql 存储过程--------------------------
mysql > DELIMITER //  
mysql > CREATE PROCEDURE demo_in_parameter(IN p_in int)  
-> BEGIN   
-> SELECT p_in;   
-> SET p_in=2;   
-> SELECT p_in;   
-> END;   
-> //  
mysql > DELIMITER ; 

方法一:(直接查询)
select `specific_name` from mysql.proc where db = 'your_db_name' and `type` = 'procedure'

方法二:(查看数据库里所有存储过程+内容)

show procedure status;

方法三:(查看当前数据库里存储过程列表)

select specific_name from mysql.proc ;

方法四:(查看某一个存储过程的具体内容)

select body from mysql.proc where specific_name = 'your_proc_name';

查看存储过程或函数的创建代码 :

show create procedure your_proc_name;
show create function your_func_name;

删除存储过程:

drop procedure your_proc_name;
-----------------------------------------------

页面缓存技术-----------------------------------

if(!$smarty->isCached('index.html')){
}
清除缓存
$smarty->clearCache('index.html');

Thanks Robbie. My job is very good to me in this work very happy. How's your work now?


芜湖市聪明屋智能科技有限公司(原中江网络),成立于2005年,经过10多年定制开发经验,积累了大量技术储备和定制开发经验,率先创建安徽省内自主研发的云计算平台,具有大数据、高并发等高强度计算能力,为众多政府、学校、公安部门、中小企业解决数据计算与管理难题。2013年公司内部专门创建电商服务部,为企业提供全方位电商解决方案与配套服务。多次获得国家、省市级领导接见,被国内近20家电视台、报纸媒体争相报道。至今,聪明屋智能科技服务过上市公司、大型国企、各类私企超800家,为多家公司提供各类政务系统、app开发定制、微信小程序开发定制、智能家居、电商系统、连锁收银等技术解决方案服务。同时,聪明屋智能科技在智能硬件方面、区块链应用方面持续投入关注及创新。

聪明屋智能科技gf-cloud.cn安徽软件开发,mysql,配置存储过程
聪明屋智能科技