九道深信服面试题

九道深信服面试题

💡 原文中文,约3000字,阅读约需8分钟。
📝

内容提要

本文讨论了九道深信服面试中的技术问题,包括MySQL优化、查询缓存设置、JMeter性能指标和线程池配置。针对MySQL CPU高的问题,建议使用SHOW PROCESSLIST检查线程状态并调整超时设置。查询缓存需确认是否开启并合理配置。JMeter测试后需关注样本数、平均响应时间和吞吐量等指标。线程池核心数可根据CPU和IO密集程度进行调整。

🎯

关键要点

  • MySQL CPU高时,可以通过SHOW PROCESSLIST检查线程状态,找出执行时间过长的SQL,并根据状态进行优化。
  • 对于MySQL的查询缓存,需确认是否开启,并合理配置,MySQL5.7中查询缓存默认关闭,可以通过配置文件开启。
  • JMeter压测后需关注样本数、平均响应时间、错误请求百分比和吞吐量等指标。
  • 线程池核心数配置可根据CPU和IO密集程度进行调整,通用公式为CPU密集型N+1,IO密集型2N+1。
  • 动态调整线程池线程数需要监控工具来观察调整后的效果,确保线程利用率。

延伸问答

如何优化MySQL CPU高的问题?

可以通过SHOW PROCESSLIST检查线程状态,找出执行时间过长的SQL,并根据状态进行优化,比如调整超时设置。

MySQL查询缓存如何配置?

在MySQL5.7中,查询缓存默认关闭,可以在配置文件中添加query_cache_type=1和query_cache_size=16M来开启。

使用JMeter进行压测后需要关注哪些指标?

主要关注样本数、平均响应时间、错误请求百分比和吞吐量等指标。

如何根据CPU和IO密集程度配置线程池核心数?

通用公式为CPU密集型N+1,IO密集型2N+1,具体可根据实际情况进行调整。

MySQL查询缓存的作用是什么?

查询缓存存储了SELECT语句及其结果,可以提高相同查询的响应速度,适用于不常变化的表。

如何动态调整线程池的线程数?

需要使用监控工具观察调整后的效果,以确保线程利用率达到最佳。

➡️

继续阅读