Наиболее подходящий дизайн для серврера которому будут обращаться очень часто, много компьютеров за маленьким ответом?

Сейчас:
Есть IIS и SQL DB. Много компьютеров раз в 20 сек обращаются к IIS, тот в свою очередь обращается к DB, делает не сложный запрос и возвращает ответ запросившему компу.

Проблема:
Это работало очень медленно и при 300 компьютеров которые стучаться на сервер CPU был на 100% почти всё время (сервак хороший, дело не в железе)

Предпринятое:
Всё нужные данные из SQL перенесли в dictionary аплиукации IIS-a и есть отдельный task который синхронит SQL с dictionary. Всё ещё работает недостаточно хорошо. При тех же 300 коннектов на сервере (даже не 300, а намного меньше, ведь все компьютеры стучаться раз в 20 сек, но у каждого свои 20 сек, а значит кол-во одновременных подключений "расплывается") CPU допрыгивает до 60%...

Вопрос:
Какие технологии существуют для решения описанной проблемы и куда копать? Спасибо!
  • Вопрос задан
  • 2554 просмотра
Пригласить эксперта
Ответы на вопрос 1
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Если решитесь на ноду, то вот этот сервер приложений может и статику отдавать и данные прямо из памяти и к базам обращаться и держать вебсокеты и sse и масштабироваться на несколько машин даже и работает под linux, windows, mac. На одной машине класса i7-2600 Quad-Core, 16 GB DDR3 RAM даст более 22`000 запроса в секунду с доступом в базу или более 50`000 запроса в секунду с кешем в оперативке и с ленивым чтением базы. Выдержит 500.000 - 1.000.000 сокетов в зависимости от интенсивности и конфигурации ОС, и более 1млн SSE соединений, они однонаправленные и менее прожорлевы.
https://www.npmjs.org/package/impress
https://github.com/tshemsedinov/impress
youtu.be/f6McffaVq78
youtu.be/Zr_1YrcXtkE
www.slideshare.net/tshemsedinov/jfwdays-2014impress
www.slideshare.net/tshemsedinov/impress-applicatio...
habrahabr.ru/post/200208
habrahabr.ru/post/194250
habrahabr.ru/post/182714
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы