forum.bitel.ru
http://forum.bitel.ru/

Server на порту 8443 виснет
http://forum.bitel.ru/viewtopic.php?f=22&t=5842
Страница 1 из 2

Автор:  jack7 [ 01 сен 2011, 20:47 ]
Заголовок сообщения:  Server на порту 8443 виснет

Перенес биллинг на 64-битную систему

Java на сервере
Цитата:
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.7) (6b18-1.8.7-2~squeeze1)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)


Биллинг
Цитата:
Клиент: вер. 5.1 сборка 569 от 11.07.2011 18:42:55
os:Linux; java:Sun Microsystems Inc., v.1.6.0_18
Сервер: вер. 5.1 сборка 690 от 11.07.2011 18:42:40
os:Linux; java:Sun Microsystems Inc., v.1.6.0_18


После неопределенного времени работы зависает порт 8443, то есть на него не идут соединения (админка на порт 8443 висит)

С консоли при попытке подключения такая картина
Цитата:
OpenSSL> s_client -host 192.168.x.x -port 8443 -verify -debug
verify depth is 0
CONNECTED(00000003)


server.error.log пуст

ps
Правиться (временно) рестартом биллинга

Автор:  jack7 [ 01 сен 2011, 22:36 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

возможно проблема появилась из-за того что утром обновился пакет системы "ca-certificate"

ps
apache2 на https работает без пролем, как и биллинг через порт 8080

Автор:  skyb [ 02 сен 2011, 03:01 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

стоп, а зачем админка то на 8443 порт? это ж для коннекта клиентов с сервером

Автор:  jack7 [ 02 сен 2011, 08:23 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

8443 порт - порт для клиентской части биллинга (админка), с помошью которой биллинг управляется
в отличии от 8080 данные по нему передаются с использованием SSL.

Абоненты могут заходить на любой из этих портов через браузер.

Автор:  skyb [ 02 сен 2011, 09:39 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

просто есть порт управления (по умолчанию 2005) я думал вы про него.

Автор:  dimOn [ 02 сен 2011, 14:20 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

OpenJDK официально не поддерживается, даже если проблема этого топика и не в этом.

Автор:  jack7 [ 05 сен 2011, 22:13 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

предполагаю дело не в jdk, сервер работал больше недели нормально до дня Х
проблема скорее всего связана с обновлением
ca-certificate
ca-certificate-java

Автор:  georgdts [ 06 сен 2011, 11:09 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

В первую очередь все дело в
Изображение
хоть и офтоп...

Автор:  snark [ 06 сен 2011, 15:48 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

Мопед Ваш или просто разместили объяву?

Автор:  jack7 [ 14 сен 2011, 16:27 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

dimOn писал(а):
OpenJDK официально не поддерживается, даже если проблема этого топика и не в этом.


документация писал(а):
Замечание

Вместо JRE вы можете использовать JDK (Java-машина + набор утилит для разработки). В случае возникновения проблем с серверными приложениями JDK предоставляет набор инструментов для отладки и локализации проблемы.


Новости писал(а):
09.09.2011
Уважаемые клиенты, настоятельно не рекомендуем вам использовать Java 1.7.х для наших продуктов, т.к. возможна некорректная работа. Рекомендуемая версия Java - 1.6.0, последние обновления.


Нигде не нашел про рекомендацию не использовать JDK

Автор:  skyb [ 15 сен 2011, 03:03 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

Не JDK (sun JDK) а OpenJDK использовать нельзя, это разные реализации.

Автор:  stark [ 15 сен 2011, 13:08 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

Да, openjdk не стоит пользоваться

Автор:  jack7 [ 15 сен 2011, 13:51 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

в таком случае это надо четко указать в документации

Автор:  skyb [ 15 сен 2011, 13:53 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
в таком случае это надо четко указать в документации

а я вот загружал яву с ссылки на офф сайте разработчиков и не парился ;)

Автор:  jack7 [ 15 сен 2011, 13:59 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

устанавливать на сервер стороннее ПО в обход системных менеджеров пакетов для меня моветон
если это необходимо - конечно установлю, только обновления прийдется делать руками и при общем обновлении пакетов любые обновления java пройдут стороной
укажите, пожалуйста, момент с openjdk в документации, чтобы другие не тратили свое время
спасибо

Автор:  skyb [ 15 сен 2011, 14:26 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
если это необходимо - конечно установлю, только обновления прийдется делать руками и при общем обновлении пакетов любые обновления java пройдут стороной

ага, а ещё я помню кажется 26 апдейт, када если его все установив поломалось, и вот седьмая ява тоже....ну да ладно, это ваше дело, по мне так обновлятся только при необходимости и все, а иначе пусть работает нетрож (с)

Автор:  stark [ 16 сен 2011, 11:16 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
устанавливать на сервер стороннее ПО в обход системных менеджеров пакетов для меня моветон
если это необходимо - конечно установлю, только обновления прийдется делать руками и при общем обновлении пакетов любые обновления java пройдут стороной

Скажите спасибо ораклу, я ставил у себя в убунту sun-кую яву из репозитория , но судя по новостям они запретили это недавно .



jack7 писал(а):
укажите, пожалуйста, момент с openjdk в документации, чтобы другие не тратили свое время
спасибо


Цитата:
3) Установите (если нет) JRE (JAVA машина), последнюю версию можно найти по адресу http://java.sun.com/j2se, либо вы можете загрузить её с нашего сайта. JAVA - язык на котором написан биллинг является интерпретируемым и запускается с помощью специальной программы JAVA - машины. Для нормальной работы необходимо JRE версии 1.6.0 либо выше.


http://bgbilling.ru/v5.1/doc/ch01s04.html

так не напиcано что можно ставить openjdk.

Автор:  jack7 [ 16 сен 2011, 11:26 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

ок, попробую перейти на
Цитата:
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

Автор:  jack7 [ 29 сен 2011, 17:56 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

переход на рекомендуемую java ничего не дал
в результате наблюдения за работой биллинга выяснилось что такие зависания имеют временный характер - предположил что связаны с работой базы данных

биллинг начинает тормозить когда приходит большое количество UPDATE на базу данных (в моем случае `show process list` показывает около 1200 записей)

Код:
 36 2388204 bill    localhost:55014 bgbilling       Query   1       update  INSERT INTO bgs_query_log_201109 (dtime, uid, ip, cid, action, query, mid_aid, c_title, u_name, m_ti
  37 2388542 bill    localhost:55352 bgbilling       Sleep   1               NULL
  38 2388552 bill    localhost:55362 bgbilling       Sleep   1               NULL
  39 2394197 bill    localhost:39393 bgbilling       Sleep   6197            NULL
  40 2398636 bill    localhost:36273 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 110884 WHERE  session_id=653517 AND sid=23 AND dt
  41 2399802 bill    localhost:34952 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 54 WHERE  session_id=656716 AND sid=16 AND dtime=
  42 2400060 bill    localhost:35210 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 62 WHERE  session_id=641124 AND sid=16 AND dtime=
  43 2400075 bill    localhost:35225 bgbilling       Query   3       Locked  UPDATE LOW_PRIORITY log_session_2_201109 SET session_stop='2011-09-29 16:13:49', session_time=TIME_T
  44 2400723 bill    localhost:35880 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 63 WHERE  session_id=654251 AND sid=16 AND dtime=
  45 2400777 bill    localhost:35934 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 32651 WHERE  session_id=655366 AND sid=23 AND dti
  46 2400925 bill    localhost:36086 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 30842084 WHERE  session_id=659788 AND sid=23 AND
  47 2401014 bill    localhost:36181 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 9580113 WHERE  session_id=660067 AND sid=24 AND d
  48 2401073 bill    localhost:36242 bgbilling       Sleep   3               NULL
  49 2401130 bill    localhost:36301 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 62 WHERE  session_id=654347 AND sid=16 AND dtime=
  50 2401299 bill    localhost:36479 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 59 WHERE  session_id=654727 AND sid=16 AND dtime=
  51 2401384 bill    localhost:36568 bgbilling       Query   1       Locked  INSERT INTO session_detail_2_201109 (session_id, sid, cid, dtime, amount) VALUES (662127, 5, 658, '2
  52 2401398 bill    localhost:36586 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 653 WHERE  session_id=649602 AND sid=25 AND dtime
  53 2401417 bill    localhost:36606 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 19625 WHERE  session_id=652931 AND sid=25 AND dti
  54 2401426 bill    localhost:36615 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 59 WHERE  session_id=658217 AND sid=16 AND dtime=
  55 2401428 bill    localhost:36617 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 57 WHERE  session_id=659787 AND sid=16 AND dtime=
  56 2401430 bill    localhost:36619 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 64 WHERE  session_id=650215 AND sid=16 AND dtime=
  57 2401434 bill    localhost:36624 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 33 WHERE  session_id=653857 AND sid=16 AND dtime=
  58 2401440 bill    localhost:36631 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 59 WHERE  session_id=659459 AND sid=16 AND dtime=
  59 2401450 bill    localhost:36641 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 1079700 WHERE  session_id=640742 AND sid=23 AND d
  60 2401453 bill    localhost:36644 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 62 WHERE  session_id=659595 AND sid=16 AND dtime=
  61 2401459 bill    localhost:36650 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 1037743 WHERE  session_id=662039 AND sid=23 AND d
  62 2401469 bill    localhost:36660 bgbilling       Query   1       Locked  UPDATE LOW_PRIORITY log_session_2_201109 SET session_stop='2011-09-29 16:13:34', session_time=TIME_T
  63 2401478 bill    localhost:36668 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 58193 WHERE  session_id=653119 AND sid=23 AND dti
  64 2401483 bill    localhost:36673 bgbilling       Query   1       Locked  UPDATE session_detail_2_201109 SET amount=amount + 3176 WHERE  session_id=659115 AND sid=25 AND dtim
  65 2401486 bill    localhost:36676 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 1448 WHERE  session_id=655549 AND sid=6 AND dtime
  66 2401492 bill    localhost:36682 bgbilling       Query   3       Locked  UPDATE session_detail_2_201109 SET amount=amount + 592819 WHERE  session_id=661982 AND sid=24 AND dt
  67 2401499 bill    localhost:36689 bgbilling       Query   1       Locked  UPDATE LOW_PRIORITY log_session_2_201109 SET session_stop='2011-09-29 16:13:35', session_time=TIME_T


база данных файлами лежит на отдельном разделе диска ( интерфейс диска еще имеет запас)

data.properties писал(а):
db.maxIdle=1000
db.maxActive=10000


netflow_ipn.properties писал(а):
db.maxActive=600
db.maxIdle=200


my.cnf писал(а):
max_connections = 20000
open_files_limit = 20000


Есть какие нибудь идеи как решить проблему?

Автор:  snark [ 29 сен 2011, 18:36 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
my.cnf писал(а):
max_connections = 20000

Оно работает? Там же вроде кажется баг есть что можно до какого-то определенного значения увеличить, а потом мускулу уже пофиг - он игнорирует большое кол-во разрешенных соединений и ставит какое-то мальенькое, не?


jack7 писал(а):
my.cnf писал(а):
open_files_limit = 20000

Это уберите, т.к. мускул сам все расчитает
MySQL manual писал(а):
mysqld may attempt to allocate more than the requested number of descriptors (if they are available), using the values of max_connections and table_open_cache to estimate whether more descriptors will be needed.

Автор:  jack7 [ 29 сен 2011, 19:24 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

Цитата:
open_files_limit = 20000

не думаю, что это критично
ни mysql, ни система не ругаются на эту переменную
и ее я добавил уже когда наблюдал проблемы с "задумчивостью" биллинга


по поводу max_connections
у меня версия сервера 5.1.49
Цитата:
max_connections

Command-Line Format --max_connections=#
Option-File Format max_connections
Option Sets Variable Yes, max_connections
Variable Name max_connections
Variable Scope Global
Dynamic Variable Yes
Permitted Values (<= 5.1.14)
Type numeric
Default 100
Permitted Values (>= 5.1.15)
Type numeric
Default 151
Range 1 .. 16384
Permitted Values (>= 5.1.17)
Type numeric
Default 151
Range 1 .. 100000


Автор:  jack7 [ 29 сен 2011, 19:37 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

написал скрипт, который при числе процессов mysql > 1000 пишет в лог все запросы и состояние интерфейсов
диск как и предполагалось не особо нагружен

Цитата:
PRC | sys 48h16m | user 83h55m | #proc 235 | #zombie 0 | #exit 0 |
CPU | sys 8% | user 24% | irq 2% | idle 745% | wait 20% |
cpu | sys 1% | user 3% | irq 0% | idle 92% | cpu000 w 3% |
cpu | sys 1% | user 3% | irq 0% | idle 94% | cpu004 w 2% |
cpu | sys 1% | user 3% | irq 0% | idle 91% | cpu001 w 4% |
cpu | sys 1% | user 3% | irq 0% | idle 94% | cpu005 w 2% |
cpu | sys 1% | user 3% | irq 0% | idle 92% | cpu002 w 3% |
cpu | sys 1% | user 3% | irq 0% | idle 93% | cpu003 w 3% |
cpu | sys 1% | user 3% | irq 0% | idle 94% | cpu006 w 2% |
cpu | sys 1% | user 3% | irq 0% | idle 94% | cpu007 w 1% |
CPL | avg1 1.81 | avg5 0.48 | avg15 0.23 | csw 262437e5 | intr 93360e5 |
MEM | tot 15.7G | free 1.9G | cache 6.8G | buff 107.6M | slab 440.8M |
SWP | tot 6.1G | free 4.7G | | vmcom 8.3G | vmlim 13.9G |
PAG | scan 2140e6 | stall 0 | | swin 369325 | swout 761749 |
DSK | sda | busy 5% | read 48683e3 | write 1961e5 | avio 0 ms
DSK | sdg | busy 1% | read 17413e3 | write 1279e4 | avio 1 ms |
DSK | sdb | busy 1% | read 8532960 | write 4120e4 | avio 0 ms |
DSK | sdd | busy 1% | read 5183989 | write 7369e3 | avio 1 ms |
DSK | sde | busy 0% | read 211878 | write 102313 | avio 1 ms |
DSK | sdf | busy 0% | read 92907 | write 2148 | avio 4 ms |
DSK | sdc | busy 0% | read 1897 | write 126 | avio 1 ms |
NET | transport | tcpi 67590e5 | tcpo 67175e5 | udpi 23863e5 | udpo 27783e4 |
NET | network | ipi 913482e4 | ipo 699759e4 | ipfrw 0 | deliv 9135e6 |
NET | eth1 0% | pcki 20463e5 | pcko 35530e4 | si 6365 Kbps | so 76 Kbps |
NET | eth0 0% | pcki 14454e5 | pcko 12332e5 | si 1622 Kbps | so 1769 Kbps |
NET | lo ---- | pcki 56599e5 | pcko 56599e5 | si 2567 Kbps | so 2567 Kbps |



есть предположение, может стоить конвертировать такие большие таблицы (detail*) с MyISAM в InnoDB?

Автор:  snark [ 29 сен 2011, 21:10 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
есть предположение, может стоить конвертировать такие большие таблицы (detail*) с MyISAM в InnoDB?

У Вас еще таблицы еще не в InnoDB? Тогда мы идем к Вам! )))

Автор:  jack7 [ 29 сен 2011, 21:33 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

snark писал(а):
jack7 писал(а):
есть предположение, может стоить конвертировать такие большие таблицы (detail*) с MyISAM в InnoDB?

У Вас еще таблицы еще не в InnoDB? Тогда мы идем к Вам! )))


а в следующем месяце таблицы session_detail_* автоматом будут созданы с типом InnoDB ? :-)

Автор:  snark [ 29 сен 2011, 21:59 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
а в следующем месяце таблицы session_detail_* автоматом будут созданы с типом InnoDB ? :-)

Если сделаете так:
Код:
# grep default-storage-engine my.cnf
default-storage-engine = InnoDB

то да ;)

Автор:  jack7 [ 29 сен 2011, 22:09 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

ок, это вариант

а что скажут разработчики, может ли быть причиной таких таймаутов тип больших таблиц?

Автор:  snark [ 29 сен 2011, 22:19 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

100% это тип таблиц, т.к. у MyISAM табличный лок при SELECT/UPDATE, а у InnoDB этого Г нету.

Автор:  jack7 [ 29 сен 2011, 22:48 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

похоже на правду
так как
Цитата:
MyISAM uses table-level locking on updates and deletes to any existing row, with an option to append new rows instead of taking a lock and inserting them into free space. InnoDB uses row-level locking.


завтра утром перенастрою Mysql и в следующем месяце будет результат =)

Автор:  snark [ 29 сен 2011, 23:14 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

jack7 писал(а):
в следующем месяце будет результат

Результат увидите сразу же как только конвертнете в InnoDB ;)

Автор:  Администратор [ 30 сен 2011, 13:56 ]
Заголовок сообщения:  Re: Server на порту 8443 виснет

Памяти добавьте MySQL ю только, InnoDB её хорошо умеет использовать в отличие от MyIsam. Часто используемые данные кэшируются.

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/