资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php数据库优化面试题 php性能优化面试题

测试PHP性能和MYSQL数据库性能的工具,和找出瓶颈的方法? PHP面试题

通过sysbench的oltp_read_write测试来模拟业务压力、以此来给指定的硬件环境配置一份比较合理的MySQL配置文件。

创新互联公司服务项目包括始兴网站建设、始兴网站制作、始兴网页制作以及始兴网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,始兴网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到始兴省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

环境介绍

硬件配置

请点击输入图片描述

软件环境

请点击输入图片描述

优化层级与指导思想

优化层级

MySQL数据库优化可以在多个不同的层级进行,常见的有:

SQL优化

参数优化

架构优化

本文重点关注:参数优化

指导思想

日志先行 -- 一个事务能否成功提交的关键是日志是否成功落盘,与数据没有太大的关系;也就是说对写的优化可以表述为各方面的资源向写操作倾斜。

瓶颈分析 -- 通过show global status 的各个计数器的值基本上就能分析出当前瓶颈所在,再结合一些简单的系统层面的监控工具如top iostat 就能明确瓶颈。

整体性能是“读”“写”之间的再平衡。

谁有面试phper的经验

这方面网上有比较多的,针对3-5年的PHPer常见的面试题,参考如下:

1、平时喜欢哪些php书籍及博客?CSDN、虎嗅、猎云

2、js闭包是什么?

3、for与foreach哪个更快?

4、php鸟哥是谁?能不能讲一下php执行原理?

5、php加速器有哪些?apc、zend、xcache.....能不能讲一下它的加速原理?

6、Node.js能彻底代替php+apache是扯淡。

7、怎样判断一个值是否存在于数组中?in_array(),array_key_exists,......

8、怎样判断select语句中是否使用了索引?explain

9、sphinx的中文分词词库使用第三方库还是自己建库?

10、如果一个被面试者经验少、基础差,此时却问些高深的知识。要怀疑它的稳定性,可以提问加班对他会不会有抵触。

11、mysql与mysqli的区别有哪些?

12、将来的发展方向?安全、还是数据挖掘、大数据处理?

13、php的面向对象:类的修饰符、封装、继承、多态体现方面

14、php 多态是什么?

15、Type Hinting:

16、php的设计模式:单例模式、工厂模式、生产者模式......等23种

17、服务器状态码:200、202、301、404、500......

18、i++与++i的区别?

19、项目开发:电商项目中的购物车数据持久化、考试系统的安全性考虑、

20、mysql设计基础:三大范式、功能-思维导图、创建表的第一字段是什么?

21、mysql字段char、varchar、int、smallint、tinyint、mediumint、bigint、decimal、double、float字节数及应用场景。

22、memcache与mongoDB、Redis各自的使用场景是什么?

23、为什么mongoDB与Redis非但没有形成竞争反而是互补关系?

24、Redis数据类型有哪些?int、string、hash、set、list ?

25、安装linux软件时使用make方式还使用yum方式?

26、linux网络优化:查看进程ps -aux|grep mysqld、怎样查看最大文件打开数?

27、C语言中的虚函数是什么?

28、1条微薄要推送给100万个粉丝该怎么处理?

29、知道哪些算法?冒泡排序?快速排序?二分查找法?

30、yii thinkphp ci 各自优点

31、php 设计模式有哪些?

32、c 排序算法有哪些?

33、php 基本结构是什么?

34、memcache magent 分布式设计?

35、redis 分布式设计,如何设计?

36、mongo 集群架构是怎样的?

37、mysql 索引原理及sql性能优化

38、tcp/ip 网络协议,osi7层指是什么?

39、php 处理大数据业务

40、linux 应用 负载性能查看 ?

41、nginx 实战优化业务功能 ?

42、谈一下近三年来你的得意之作?

43、看看简历,会问一些过去做的项目的用户量、pv、吞吐量、相关难点和解决方法等

44、数据库设计经验,为什么进行分表? 分库?

45、一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明

46、数据库优化有哪些? 分别需要注意什么?

47、web开发方面会遇到哪些缓存? 分别如何优化?

48、给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?

49、对10G的文件进行查找如何实现?

50、统计10G文件每个关键字出现的次数如何实现?

51、假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?

52、假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?

53、如果你是技术组长,所带团队任务进度无法完成你该如何解决?

54、如果在进度排满的前提下插入任务,你该如何保证总进度不延期?

55、如果有的工程师今天预定任务没有完成,你该如何解决?

56、从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?

57、为什么要对数据库进行主从分离?

58、如何处理多服务器共享session?

59、一个10G的表,你用php程序统计某个字段出现的次数,思路是?

60、会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?

61、给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?

62、给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?

63、给你一个url,在nginx配置一下rewrite指定到某个具体路径?

64、一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?

65、session和cookie生存周期区别? 存储位置区别?

66、require、include、require_once、include_once区别? 加载区别? 如果程序按需加载某个php文件你如何实现?

67、chrome号称为多线程的,所以多线程和多进程的区别为?

68、php在2011年底出现hash碰撞,hash碰撞原理为? 如何进行修复?

69、web不安全因素有哪些? 分别如何防范?

70、假如两个单链表相交,写一个最优算法计算交点位置,说思路也可以?

71、假如你是技术组长? 如何提高团队效率?

72、nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?

73、不优化前提下,apache一般最大连接数为? nginx一般最大连接数为? mysql 每秒insert ? select ? update ? delete?

74、mysql 数据类型有哪些 ? 分别占用多少存储空间 ?

75、nginx设置缓存js、css、图片等信息,缓存的实现原理是?

76、如何提高缓存命中率? 如何对缓存进行颗粒化?

77、php的内存回收机制是?

78、我的所有问题都问完了(当然没有这么多),你有什么问题问我没有?

php 面试必考题 mysql的MyISAM 和 InnoDB 的区别

1.InnoDB不支持FULLTEXT类型的索引。

2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from

table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含

where条件时,两种表的操作是一样的。

3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。

4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。MyISAM 是表所

innodb是行锁

5.LOAD TABLE FROM MASTER(从主负载表)操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。

另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update

table set num=1 where name like “"2%”

6.InnoDB 支持事物

选择存储引擎 根据实际情况选择。

一般情况下如果查询多建议使用myIsam 。

如果你需要事务处理或是外键,那么InnoDB 可能是比较好的方式。

优化MYSQL数据库的方法:

1,选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM

2,使用join代替子查询

3,使用联合(UNION)来代替手动创建的临时表

4,事务处理(保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败)

5,适当建立索引(如何建立索引?索引的利与弊?)

6,优化sql语句

7,explain可以看到mysql执行计划

8,分表(垂直分表,水平分表?)

9,数据库主从


网页标题:php数据库优化面试题 php性能优化面试题
本文路径:http://cdkjz.cn/article/ddgjcip.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220