Improving the Serving Performance of Multi-LoRA Large Language Models via Efficient LoRA and KV Cache Management