|
|
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
Всем привет, у меня вдруг появилась одна проблема с моим приложением (C # + MySQL). Иногда пользователи имеют такую проблему: "Ошибка при подключении: Время ожидания истекло Истекло время ожидания до получения соединение из пула Это, возможно, произошло потому, что все объединенные соединения были в использовании и максимальный размер бассейна была достигнута.». И они не могут подключиться к MySQL .. Я даже могу перезапустить MySQL сервер и нажать кнопку в приложении, чтобы пересоединиться, но это не поможет и результат остается таким же и существует только один способ - перезапуск самого приложения на проблемном компьютере. И тогда все ок и еще пару часов они могут работать. При запуске приложения оно использует только 30 МБ и когда появляется эта проблема то памяти примерно 400MB занято. Такое чувство что приложение засоряется всяким хламом. Но каждое соединение я закрываю через Dispose. Все формы тоже закрываю и вызываю Dispose..но это не решает проблему Кто-нибудь может объяснить мне, почему мое приложение стало выдавать такую проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 10:50:49 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
Ну так мониторь своё приложение. Сколько у него соединений... добавь логирование подключений и отключений, одновременно мониторь соединения сторонними утилитами (да хоть netstat...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 10:57:03 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
Во-первых, ищите баги/утечки в вашей проге, почему она 400 МБ отъедает. Возможно, что найдете не только утечку памяти, но и утечку соединений. Во-вторых, проверьте сколько и каких соединений открыто вашей программой во время возникновения ошибки. Например, командой netstat. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 10:57:53 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
А как эти утечки можно отслеживать..я примерно сажусь на своем компе открываю закрываю формы, делаю соединения..у меня память прыгает до 60МВ потом я закрываю форму она сбрасывается до 40..иногда не сбрасывается (хотя dispose везде специально прописал, чтобы все подчищало, как я прочитал на форумах)..а на клиентских приложениях примерно зависания идут после 2-3 часов плотной работы..после каждой операции в лог записывать состояние занимаемой памяти..таким образом? За netstat спасибо, сейчас буду ждать у кого навернется и проверю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 13:08:40 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
Ну SHOW PROCESSLIST - этим я часто пользуюсь..там как раз отображаются соединения со статусом слип (пул который)..там они висят 600 секунд и удаляются..ставил 60 сек..30 сек и все равно ошибка появляется..и конкретно вот на пользователя одного вот нетстат выдал такое, как раз сейчас опять подвисло приложение..проработало максимум час.. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 192.168.2.200 - это то приложение которое подвисло, оно выступает еще и в роли сервера..поэтому к нему обращения с разных других компов..подскажите что в этом логе привлекает внимание..я честно не разбираюсь( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 13:22:57 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
wrx888подскажите что в этом логе привлекает внимание..Привлекает внимание множество соединений на порт SERVER:3306. Как я понимаю, это сервер MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 13:26:41 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
Закрыл программу..сделал нетстат и список сократился Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Все соединения мне известны только не знаю что такое: xm61:http, server23002:5938 и почему кто то в виде айпи, а кто то по имени компа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 13:26:45 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
miksoftwrx888подскажите что в этом логе привлекает внимание..Привлекает внимание множество соединений на порт SERVER:3306. Как я понимаю, это сервер MySQL. Да это сервер соседнего филиала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 13:27:45 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
miksoftwrx888подскажите что в этом логе привлекает внимание..Привлекает внимание множество соединений на порт SERVER:3306. Как я понимаю, это сервер MySQL. и при этом проблема была с соединением со своей базой по адресу 192.168.2.200, а не с SERVER..т.е. с локальной базой на этом же компе..но при это остальные компы с этой базой отлично работают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 13:31:31 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
вот все таки получается проблема в этом Код: c# 1. очень много процессов..когда я принудительно закрываю мое приложение, то все эти close_wait убираются и все ок..не понимаю почему программа их держит..когда у меня везде закрываются соединения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 14:28:52 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
wrx888когда у меня везде закрываются соединенияВопрос, зачем вы их столько открываете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 14:31:53 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
miksoftВопрос, зачем вы их столько открываете? Ну у меня перед каждым запросом идет соединение после идет закрытие. Т.к. много разных баз, в каждом филиале по 4 базы..и получается вот разные соединения и идут..выполнил запрос к одному потом его закрыл и пошел дальше обрабатывать. Да и читал во всяких статьях, что соединение лучше всегда закрывать и не держать открытым. Я не понимаю почему столько висит в ожидании при запросе netstat и именно с другим сервером..дело в том сервере к кому обращение идет или нет? кто из них в итоге держит это соединение то?)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2014, 13:12:13 |
|
||
|
Error connecting (иногда)
|
|||
|---|---|---|---|
|
#18+
wrx888miksoftВопрос, зачем вы их столько открываете? Ну у меня перед каждым запросом идет соединение после идет закрытие. Т.к. много разных баз, в каждом филиале по 4 базы..и получается вот разные соединения и идут..выполнил запрос к одному потом его закрыл и пошел дальше обрабатывать. Да и читал во всяких статьях, что соединение лучше всегда закрывать и не держать открытым.Имхо, это актуально только если на сервере нужно жестко экономить оперативную память сервера, но достаточно CPU. В остальных случаях не актуально. wrx888Я не понимаю почему столько висит в ожидании при запросе netstat и именно с другим сервером..дело в том сервере к кому обращение идет или нет? кто из них в итоге держит это соединение то?))ОС не сразу уничтожает использованные сокеты, а только через некоторое время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2014, 13:39:43 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1835100]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 361ms |

| 0 / 0 |
