Часто происходит сбой ColdFusion после обновления с CF 8 до CF2018 - PullRequest
0 голосов
/ 26 марта 2019

После обновления с ColdFusion 8 до ColdFusion 2018 мы часто сталкиваемся с некоторыми проблемами при сбое сервера.

Мы попробовали инструмент настройки производительности и исправили все найденные проблемы. Тем не менее его сбой по крайней мере 1-2 раза в день.

Мы исправили некоторые проблемы, такие как ошибки пропущенных шрифтов при обновлении шрифтов, и исправили проблемы, обнаруженные в файле `coldfusion-out.log1.

Теперь мы проверяем итерации, SQL-запросы, есть ли вероятность тайм-аута sql или чего-то в этом роде.

Кроме этого, нужно ли что-то конкретно решать для решения таких проблем, как отключение сервера?

Ответы [ 3 ]

1 голос
/ 28 июня 2019

Мое предложение. Установите инструмент мониторинга FusionReactor как можно скорее. Это скажет вам, если вы поставили в очередь запросы или что-то еще происходит.

Это один из лучших инструментов, которые я когда-либо использовал.

0 голосов
/ 30 июня 2019

Это может быть связано с сеансом.Каждый раз, когда клиент входит в сеанс, Coldfusion, кажется, оставляет след и может удерживать часть памяти, основываясь на истечении срока действия файлов cookie.Я предполагаю, что ваш сервер постепенно потребляет память.Одним из решений является уменьшение числа клиентов, участвующих в сеансах, а другое - устаревшее решение CF (например, добавление бобов оперативной памяти на ваш сервер).

Вот код, который вы можете добавить, чтобы быстро сократить количество длительных сеансов в зависимости от потребностей вашего сайта.Я использовал это, и это помогает, но не удалит полностью CF-приложения, требующие памяти.

<cfif (

(NOT Len( cgi.http_user_agent )) OR
REFind( "bot\b", cgi.http_user_agent ) OR
Find( "crawl", cgi.http_user_agent ) OR
REFind( "\brss", cgi.http_user_agent ) OR
Find( "feed", cgi.http_user_agent ) OR
Find( "news", cgi.http_user_agent ) OR
Find( "blog", cgi.http_user_agent ) OR
Find( "reader", cgi.http_user_agent ) OR
Find( "syndication", cgi.http_user_agent ) OR
Find( "coldfusion", cgi.http_user_agent ) OR
Find( "slurp", cgi.http_user_agent ) OR
Find( "google", cgi.http_user_agent ) OR
Find( "zyborg", cgi.http_user_agent ) OR
Find( "emonitor", cgi.http_user_agent ) OR
Find( "jeeves", cgi.http_user_agent )
)>

    <cfset THIS.name = "myWebsite_06302019">
    <cfset THIS.sessionManagement="Yes">
    <cfset THIS.sessiontimeout="#createtimespan(0,0,0,5)#"> 
    <!---<cfset THIS.sessioncookie.timeout = "7" >--->
    <cfset THIS.sessioncookie.timeout = "-1" >

<cfelse>
    <cfset THIS.name = "myWebsite_06302019">
    <cfset THIS.sessionManagement="Yes">
    <cfset THIS.sessiontimeout="#createtimespan(0,0,180,0)#"> 
    <!---<cfset THIS.sessioncookie.timeout = "7" >--->
    <cfset THIS.sessioncookie.timeout = "#createtimespan(0,0,180,0)#" >
</cfif>
0 голосов
/ 27 марта 2019

Для этого есть две возможности:

1) Вы обновили Coldfusion, но не обновили версию своей базы данных (в частности, oracle).Это может привести к тому, что CF использует устаревший драйвер соединителя, что может иногда приводить к зависанию соединений с БД, что, в свою очередь, приводит к тому, что сервер CF перестает отвечать на запросы.Если это так, то обновление вашей БД может решить проблему.

2) Посмотрите, как вы храните переменные клиента.Если они хранятся в реестре, сервер может периодически падать.Лучше изменить хранилище на базу данных ИЛИ нет, если вы не используете какие-либо переменные клиента.Имейте в виду, что переменные клиента не влияют на действия сеанса, такие как автоматический выход из системы и т. Д.

...