
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.09.2012, 17:04:56
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
Доброго времени суток. Я правлю чужой сокет-сервер (с классом взаимодействия с sql). От клиента подается на сервер команды. Сервер слушает какая команда приходит и соответственно или что то пишет в базу, или вычитываем из базы и отправляет клиенту. Обратил внимание на то, что в sql части (класс взаимодействия сервер-база) в каждом методе есть отдельно открытие и закрытие соединения с базой. Примет: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. И таких открытий-закрытий вагон. Вопрос — правильно ли это, или нужно создавать один конект при подключении пользователя и запускать необходимые методы, а уж после закрытия сессии полный дисконект с базой. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2012, 17:06:02
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
HunterNomadсоздавать один конект при подключении пользователя и запускать необходимые методы, а уж после закрытия сессии полный дисконект с базойконешно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2012, 17:10:14
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
grasoff.netHunterNomadсоздавать один конект при подключении пользователя и запускать необходимые методы, а уж после закрытия сессии полный дисконект с базойконешно А .... Я догадывался ... Просто такого сам никогда не писал, но когда смотрел логи .... ;-) в общем скоро для них пришлось бы отдельно сервер держать. Придется переписывать самому . Спасибо. И удачных удач!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2012, 17:11:12
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
HunterNomadОбратил внимание на то, что в sql части (класс взаимодействия сервер-база) в каждом методе есть отдельно открытие и закрытие соединения с базой. Это больше на конструктор похоже, а не на метод. HunterNomadИ таких открытий-закрытий вагон. Вопрос — правильно ли это, Это сильно зависит от обстоятельств. Но введение пула, для сервера существенно повысит производительность. Хотя в таком сервере возможны проседания и в других местах. На общем фоне может и не заметны тормоза. HunterNomadили нужно создавать один конект при подключении пользователя и запускать необходимые методы, а уж после закрытия сессии полный дисконект с базой. Так как аутентификация собственная, то смысла в connection per session особого нет. Connection Pool + getConnection() в начале каждой операции\метода + close() в finally блоке - это наиболее подходящаяя стратегия для серверного приложения, так как при большой нагрузке, она позволяет минимизировать число физических соединений, но при этом выдававать почти такую же производительность как connection per session. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2012, 17:46:41
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
BlazkowiczHunterNomadОбратил внимание на то, что в sql части (класс взаимодействия сервер-база) в каждом методе есть отдельно открытие и закрытие соединения с базой. Это больше на конструктор похоже, а не на метод. Согласен, public SQL() ... я привел в примере в качестве вступления. Шас читаю про Connection Pool. Весчь интересная, но шибко (как для меня) запутанная (пока простого и понятного примера не нашел). Хотя понимаю, что в более серьезной ситуации только так и надо. На сервер нагрузка одновременно 20 - 50 подключений. Стоить ли сильно из-за этого много чего писать? Предыдущий сервер весил 18Кб (без библиотек). Просто попросили добавить кое чего и при необходимости оптимизировать. О как. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2012, 17:52:04
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
HunterNomadШас читаю про Connection Pool. Весчь интересная, но шибко (как для меня) запутанная (пока простого и понятного примера не нашел). Хотя понимаю, что в более серьезной ситуации только так и надо. Apache Commons DBCP. Если хочется обойтись без либы, то можно нагуглить велосипед в один класс. Помню часто гулял на просторах инета. HunterNomadНа сервер нагрузка одновременно 20 - 50 подключений. Стоить ли сильно из-за этого много чего писать? Предыдущий сервер весил 18Кб (без библиотек). Просто попросили добавить кое чего и при необходимости оптимизировать. Ну, это вам решать стоит или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2012, 18:01:58
|
|||
|---|---|---|---|
|
|||
Socket client-server и sql |
|||
|
#18+
Blazkowicz, За наводку на Apache Commons DBCP спасибо. Шас буду читать. А насчет BlazkowiczHunterNomadНа сервер нагрузка одновременно 20 - 50 подключений. Стоить ли сильно из-за этого много чего писать? Предыдущий сервер весил 18Кб (без библиотек). Просто попросили добавить кое чего и при необходимости оптимизировать. Ну, это вам решать стоит или нет. Если честно, то я никогда такого не писал. И с какой стороны к этому подойти изучаю в исходниках предыдущего программера. Спасибо. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2130907]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 274ms |
| total: | 430ms |

| 0 / 0 |
