У меня вопрос о сервере холодного слияния, который в настоящее время работает в моей компании. У нас работает около 50 активных веб-сайтов, и мы получаем в среднем 1 запрос в секунду. Недавно мы начали работать с клиентом, который отправляет нам 32 запроса в секунду, чтобы поддерживать большое количество данных в актуальном состоянии. Однако мы заметили, что использование памяти неуклонно растет в течение часа, а затем внезапно снова падает. После этого падения есть 3-минутный промежуток времени, когда сервер не принимает (или не регистрирует) запросы, это наводит меня на мысль, что сброс на самом деле является перезапуском холодного слияния. Иногда у нас действительно длинные загрузки на наших страницах или сообщения «сеанс недоступен», я не знаю, связано ли это с 32 запросами в секунду или какой-то другой проблемой.
Я сделал два снимка экрана, иллюстрирующих рост памяти и отказ от запроса с течением времени.
Объем памяти: http://img9.imageshack.us/img9/5320/picture10zze.png
Запросы: http://img18.imageshack.us/img18/4378/picture11jh.png
Мои вопросы:
1: Это нормальное поведение памяти на нашем сервере каждый час (может быть, какая-то автоматическая очистка?)
2: 32 запроса в секунду - это "тяжелая" нагрузка для хорошего сервера.
3: означает ли падение количества запросов, что наш сервер перезагружается? Есть ли способ это проверить?
Это сервер Windows под управлением iis7.
То, что вы видите на этом графике, похоже на проблему с памятью JVM. Я бы начал с увеличения размера вашего молодого поколения, чтобы большие переменные / объекты могли оставаться в молодом поколении без повышения. Капли - это когда происходит главный сборщик мусора, который все проясняет. Вот отличная статья по теме, которая поможет вам начать работу: http://www.adobe.com/devnet/coldfusion/articles/coldfusion_performance.html У вас должно получиться немного улучшить, реализовав там идеи с минимальными изменениями кода. Хотя вы, вероятно, захотите также посмотреть на время выполнения запроса.