Высокоэффективное развитие

Фон

Мы очень усердно работали, пытаясь найти решения для «высокопроизводительного» приложения. Приложение в основном имеет высокую пропускную способность в диспетчере памяти -с обратной синхронизацией на диск. «Чтения» и «записи» чрезвычайно высоки, около 3000 транзакций в секунду.Мы пытаемся сделать как можно больше в памяти, но в конечном итоге данные устаревают и их необходимо сбросить на диск, и именно здесь возникает огромное «узкое место». Приложение многопоточное -, около 50 потоков. Отсутствует связь IPC (между процессами -)

Попытки

Сначала мы написали это на Java, и это работало довольно хорошо, до определенной нагрузки, узкое место не сталкивалось, и оно просто не справлялось. Затем мы попробовали это на C #и получили такое же горлышко бутылки -. Мы попробовали это с неуправляемым кодом (C #), и хотя на начальных тестах было ослепительно быстро с использованием MMF (памяти -картографических файлов ), в рабочей среде чтение было медленным (с использованием представлений ). Мы попробовали CouchBase, но столкнулись с проблемами, связанными с высокой загрузкой сети. Это может быть плохой конфигурацией с нашей стороны!

Дополнительная информация:В нашей попытке Java (без -MMF )наш поток с очередью информации, которую необходимо сбросить на диск, строится до такой степени, что не может поддерживать «запись» на диск. В нашем подходе C #Memory -Map File проблема заключается в том, что ЧТЕНИЕ выполняется очень медленно, а ЗАПИСЬ работает отлично. Почему-то просмотры идут медленно!

Вопрос

Итак, вопрос в том, ситуации, когда вы собираетесь передавать огромные объемы данных; может ли кто-нибудь помочь с возможным подходом или архитектурным дизайном, который мог бы помочь? Я знаю, что это кажется немного широким, но я думаю, что специфика высокой производительности и высокой пропускной способности должна сузить ответы.

Может ли кто-нибудь поручиться за использование Couchbase, MongoDB или Cassandra на таком уровне? Другие идеи или решения будут оценены.

10
задан Dane Balia 17 August 2012 в 07:27
поделиться