LINUX.ORG.RU

Сообщения Lexoff1992

 

Тюнинг GC

 ,

Привет!

на сервере запущено приложение с такими параметрами GC

java -server -Xms3072m -Xmx3072m -XX:MaxPermSize=512m -Dweblogic.Name=SERVER  -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DoEscapeAnalysis -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+UseFastAccessorMethods -XX:+UseFastEmptyMethods -verbose:gc -Xloggc:/var/log/ora_app1/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCDetails

проблема в том, что с течением времени кол-во heap-а уменьшается и свободно остается около 5%, после чего GC всё же высвобождает память и приложение не падает. НО у нас срабатывает мониторинг на пороге 90% использование heap-а. Хотелось бы этого избежать.

Поидее нужно сделать так, чтобы GC работал чаще и heap не успевал забиваться до 90%

Вопрос: собственно как это сделать :) С какими параметрами GC нужно поиграться

Lexoff1992
()

tail -f на вновь создающиеся файлы

 ,

Привет!

такой вопрос есть файл db-21409.log, в него постоянно льется инфа, по мере заполнения создается новый файл db-21410.log а старый удаляется.

если я запущу что-то вроде

tail -f db-* | grep -a 7400000000163067065 > 74.txt 

tail -f db-* - будет считывать и вновь созданные файлы?

просто в процессах я вижу подобное:

app1     31463 28506  0 17:14 pts/1    00:00:00 tail -f db-21409.log

а в это время уже давно создался следующий файл db-21410.log

Lexoff1992
()

Редирект в nginx

Привет! Подскажите, пожалйста, как сделать перенаправление с одного сервера (в случае возвращения ошибки) на другой. Есть nginx и сервера Oracle Service Bus (OSB). Конфигурация примерно выглядит так:

есть апстримы с серверами:

upstream backend_s1 {
                server сервер1:3010;
                server сервер2:3010;

upstream backend_s2 {
                server сервер2:3010;
                server сервер3:3010;

Есть локейшены:

 location ~ /gateway/services/(SID0000010|SID0003928|SID0003929|SID0003930|SID0003931|SID0003932) {
                        proxy_read_timeout 60s;
                        set $var «$request_method?$args»;
                        if ($var ~* ^GET\?wsdl(=)?) {
                                rewrite ^/(.*)$ /$1/wsdl? permanent;
                        }
     ляляляляля
                        proxy_pass http://backend_s1;
                        proxy_redirect off;

location ~ /gateway/services/(SID0000010|SID0003928|SID0003929|SID0003930|SID0003931|SID0003932) {
                        proxy_read_timeout 60s;
                        set $var «$request_method?$args»;
                        if ($var ~* ^GET\?wsdl(=)?) {
                                rewrite ^/(.*)$ /$1/wsdl? permanent;
                        }
     ляляляляля
                        proxy_pass http://backend_s2;
                        proxy_redirect off;

предположим что на первый локейшен приходит запрос, на него возвращается ошибка со статусом 500. Что нужно прописать, чтобы этот запрос перенаправился на другой апстрим?

Lexoff1992
()