D**********7 发帖数: 28 | 1 之前面试问了个performance相关的问题没回答好。题目是如果server收到很多request
来不及处理,用什么方法来提高performance?
我能想到就是建一个queue然后把request都放到queue里,就是asynchronous那种。或
者建个cache,把查询过的或者查询频率最高的存在cache里(如果满了就把频率最低的
从cache里删除)。我想请教下还有其他什么方法吗?或者这类题目要怎么思考?我觉
得我没有回答到点上,不是面试官想要的。不知道应该从什么角度考虑这个问题呢?请
大家指点一下,非常感谢啊 |
r*****s 发帖数: 1815 | 2 你没有具体情境没法答啊。。我还说加server,加LB然后shard数据库呢。。。 |
z*********n 发帖数: 1451 | 3
request
你不会没提partition吧。就说加server。然后看他问啥再答啥。
【在 D**********7 的大作中提到】 : 之前面试问了个performance相关的问题没回答好。题目是如果server收到很多request : 来不及处理,用什么方法来提高performance? : 我能想到就是建一个queue然后把request都放到queue里,就是asynchronous那种。或 : 者建个cache,把查询过的或者查询频率最高的存在cache里(如果满了就把频率最低的 : 从cache里删除)。我想请教下还有其他什么方法吗?或者这类题目要怎么思考?我觉 : 得我没有回答到点上,不是面试官想要的。不知道应该从什么角度考虑这个问题呢?请 : 大家指点一下,非常感谢啊
|
D**********7 发帖数: 28 | 4 提了下load balancer,但没怎么具体说。所以面试官是要问加server? 可能我没沟通
好比较紧张,另外这方面懂的也不多,当时应该多问问面试官的 |
m******e 发帖数: 82 | 5 楼主没有领会面试官的用意吧,面试官是说提升性能,楼主的做法只能smooth load,
要提升性能还得增加处理单元(线程/进程/服务器),当然放到MQ也是必不可少的 |
D**********7 发帖数: 28 | |
D**********7 发帖数: 28 | 7 原来是要问这个,我明白了,谢谢你啊
【在 m******e 的大作中提到】 : 楼主没有领会面试官的用意吧,面试官是说提升性能,楼主的做法只能smooth load, : 要提升性能还得增加处理单元(线程/进程/服务器),当然放到MQ也是必不可少的
|
m******e 发帖数: 82 | 8 还得搞清楚是什么导致处理不过来,如果是cpu就服务器水平扩展,如果是io就nosql/
cache/read replica |
D**********7 发帖数: 28 | 9 谢谢你的提醒啊,我其实不知道面试官要问什么,我当时确实应该再多沟通一下的
【在 m******e 的大作中提到】 : 还得搞清楚是什么导致处理不过来,如果是cpu就服务器水平扩展,如果是io就nosql/ : cache/read replica
|
m******e 发帖数: 82 | 10 我想面试官希望你能够先分析瓶颈在哪里,再针对不同情况给出不同方案,而不是一上
来就套名词 |
D**********7 发帖数: 28 | 11 原来是这样,谢谢指点啊
【在 m******e 的大作中提到】 : 我想面试官希望你能够先分析瓶颈在哪里,再针对不同情况给出不同方案,而不是一上 : 来就套名词
|
r***s 发帖数: 737 | 12 楼上直接试图给答案的就直接废掉了!
这种问题重要的不是回答,而是追问。
一般面试官故意给这样一个非常范范的问题下面等你问问题,专门对于这一个来说
追问的目的在于找到系统瓶颈在哪里,一般头一个问题从系统行为问起,下面几个
问题问出系统架构来。先问出软件架构,在问个部分硬件配置和链接情况,要注意
分清哪一部分是有 state 哪一部分是 stateless 的,stateful 的部分哪一部分是
短暂的哪一部分是长效的。
然后问个部分的系统观测数据,latency, cpu, memory, networking, system queue
length, etc.
最后猜瓶颈在哪里,然后提供几个可选的改进方案。还没完!还要给出
实验方法和过渡计划
request
【在 D**********7 的大作中提到】 : 之前面试问了个performance相关的问题没回答好。题目是如果server收到很多request : 来不及处理,用什么方法来提高performance? : 我能想到就是建一个queue然后把request都放到queue里,就是asynchronous那种。或 : 者建个cache,把查询过的或者查询频率最高的存在cache里(如果满了就把频率最低的 : 从cache里删除)。我想请教下还有其他什么方法吗?或者这类题目要怎么思考?我觉 : 得我没有回答到点上,不是面试官想要的。不知道应该从什么角度考虑这个问题呢?请 : 大家指点一下,非常感谢啊
|
D**********7 发帖数: 28 | 13 我以为只是要问一部分,没往你说的方面想,原来是要这样思考的,和工作中差不多。
非常感谢啊!
【在 r***s 的大作中提到】 : 楼上直接试图给答案的就直接废掉了! : 这种问题重要的不是回答,而是追问。 : 一般面试官故意给这样一个非常范范的问题下面等你问问题,专门对于这一个来说 : 追问的目的在于找到系统瓶颈在哪里,一般头一个问题从系统行为问起,下面几个 : 问题问出系统架构来。先问出软件架构,在问个部分硬件配置和链接情况,要注意 : 分清哪一部分是有 state 哪一部分是 stateless 的,stateful 的部分哪一部分是 : 短暂的哪一部分是长效的。 : 然后问个部分的系统观测数据,latency, cpu, memory, networking, system queue : length, etc. : 最后猜瓶颈在哪里,然后提供几个可选的改进方案。还没完!还要给出
|