Результаты поиска
Анатомия " утечки памяти"
В перспективе .NET:
- Что такое утечка памяти ?
- Как вы можете определить, утечка ли вашего приложения? Что же это за последствия?
- Как можно предотвратить утечку памяти?
- Если у вашего приложения есть утечка памяти, она исчезает при завершении процесса или убивается? Или утечки памяти в вашем приложении влияют на другие процессы в системе даже после завершения процесса?
- А как насчет неуправляемого кода, доступ к которому осуществляется через COM Interop и / или P/Invoke?
Самый эффективный код для первых 10000 простых чисел?
Я хочу напечатать первые 10000 простых чисел. Может ли кто-нибудь дать мне наиболее эффективный код для этого? Очищения:
- Это не имеет значения, если ваш код неэффективен для n >10000.
- Размер кода не имеет значения.
- Вы не можете просто жестко кодировать значения любым способом.
Как создать новый экземпляр объекта из типа
Можно не всегда знать Type объекта во время компиляции, но может потребоваться создать экземпляр Type . Как получить новый экземпляр объекта из Type ?
Как работает индексация баз данных?
Учитывая, что индексация так важна, поскольку ваш набор данных увеличивается в размере, может ли кто-нибудь объяснить, как индексирование работает на уровне базы данных-агностика?
Сведения о запросах для индексации поля см. В разделе Как индексировать столбец базы данных .
Какова наиболее эффективная графовая структура данных в Python?
Мне нужно уметь манипулировать большим (10^7 узлов) графом в python. Данные, соответствующие каждому узлу / ребру, минимальны, скажем, небольшое количество строк. Каков наиболее эффективный , с точки зрения памяти и скорости , способ сделать это?
Дикт диктов более гибок и прост в реализации, но я интуитивно ожидаю, что список списков будет быстрее. Опция списка также потребует, чтобы я хранил данные отдельно от структуры, в то время как дикты позволят сделать что-то подобное:
graph[I][J]["Property"]="value"
Что бы вы предложили?
Да, мне следовало бы немного прояснить, что я подразумеваю под эффективностью. В данном конкретном случае я имею в виду его в терминах произвольного поиска доступа.
Загрузка данных в память не является огромной проблемой. Это делается раз и навсегда. Трудоемкая часть-это посещение узлов, чтобы я мог извлечь информацию и измерить интересующие меня показатели.
Я не рассматривал возможность сделать каждый узел классом (свойства одинаковы для всех узлов), но похоже, что это добавит дополнительный уровень накладных расходов? Я надеялся, что у кого-то будет какой-то непосредственный опыт с подобным случаем, которым они могли бы поделиться. В конце концов, графики-это одна из самых распространенных абстракций в CS.
Насколько большой может быть база данных MySQL, прежде чем производительность начнет снижаться
В какой момент база данных MySQL начинает терять производительность?
- Имеет ли значение физический размер базы данных?
- Имеет ли значение количество записей?
- Является ли любое снижение производительности линейным или экспоненциальным?
У меня есть то, что я считаю большой базой данных, с примерно 15М записями, которые занимают почти 2 ГБ. Основываясь на этих цифрах, есть ли у меня стимул Очистить данные, или я могу позволить им продолжать масштабироваться еще несколько лет?
CPU дросселирование в C++
Мне просто интересно, есть ли элегантный способ установить максимальную нагрузку CPU для конкретного потока, выполняющего интенсивные вычисления.
Прямо сейчас я нашел самый трудоемкий цикл в потоке (он делает только сжатие) и использую GetTickCount() и Sleep() с жестко заданными значениями. Это гарантирует, что цикл продолжается в течение определенного периода времени, а затем спит в течение определенного минимального времени. Он более или менее выполняет свою работу, т. е. гарантирует, что поток не будет использовать более 50% из CPU.
Однако поведение зависит от количества ядер CPU (огромный недостаток) и просто уродливо (меньший недостаток :)).
Есть идеи?
DataTable Сравнение Производительности Цикла
Какой из следующих вариантов обладает наилучшей производительностью?
Я видел метод два, реализованный в JavaScript с огромным увеличением производительности, однако я не смог измерить какой-либо прирост в C# и задавался вопросом, делает ли компилятор уже Метод 2, даже если он написан как метод 1.
Теория, лежащая в основе метода 2, заключается в том, что коду не нужно обращаться к DataTable.Rows.Count на каждой итерации, он может просто получить доступ к int c.
Способ 1
for (int i = 0; i < DataTable.Rows.Count; i++) {
// Do Something
}
Способ 2
for (int i = 0, c = DataTable.Rows.Count; i < c; i++) {
// Do Something
}
Производительность Компиляции CSharpCodeProvider
Разве CompileAssemblyFromDom быстрее, чем CompileAssemblyFromSource ?
Он должен быть таким, как он предположительно обходит внешний интерфейс компилятора.
Сколько накладных расходов на производительность базы данных при использовании LINQ?
Сколько накладных расходов на производительность базы данных связано с использованием C# и LINQ по сравнению с пользовательскими оптимизированными запросами, загруженными в основном низкоуровневыми C, как с серверной частью SQL Server 2008?
Я специально думаю здесь о случае, когда у вас есть довольно интенсивная программа для обработки данных, и вы будете делать обновление данных или обновление по крайней мере один раз на экране и будете иметь 50-100 одновременных пользователей.
.Чистая скорость удаленного доступа и виртуальных частных сетей
Я работаю над проектом, который использует .NET Remoting для связи между клиентским приложением и сервером объектов. Для разработки клиент, сервер и база данных MSSQL работают на моем локальном компьютере разработки.
Когда я работаю в офисе, отзывчивость просто прекрасна.
Однако, когда я работаю из дома, скорость значительно ниже. Если я отключаюсь от VPN, он ускоряется (я верю, но, возможно, это просто принятие желаемого за действительное). Если я полностью отключаю свое беспроводное соединение, оно немедленно разгоняется до полной скорости.
Я предполагаю, что удаленный трафик направляется через какую-то точку, которая замедляет все, хотя мой домашний маршрутизатор и/или VPN.
Есть ли у кого-нибудь идеи о том, как заставить удаленный трафик оставаться полностью локализованным?
.Чистая скорость удаленного доступа и виртуальных частных сетей
Я работаю над проектом, который использует .NET Remoting для связи между клиентским приложением и сервером объектов. Для разработки клиент, сервер и база данных MSSQL работают на моем локальном компьютере разработки.
Когда я работаю в офисе, отзывчивость просто прекрасна.
Однако, когда я работаю из дома, скорость значительно ниже. Если я отключаюсь от VPN, он ускоряется (я верю, но, возможно, это просто принятие желаемого за действительное). Если я полностью отключаю свое беспроводное соединение, оно немедленно разгоняется до полной скорости.
Я предполагаю, что удаленный трафик направляется через какую-то точку, которая замедляет все, хотя мой домашний маршрутизатор и/или VPN.
Есть ли у кого-нибудь идеи о том, как заставить удаленный трафик оставаться полностью локализованным?
Кто-нибудь использовал Jaxer в производстве?
Кто-нибудь использовал Jaxer в производственной среде, мне любопытно, как он держится по сравнению с чем-то вроде php, ruby и т. д. и если кто-то знает о каких-либо подводных камнях, чтобы использовать его, которые хорошо известны.
Эффективно преобразовать шестнадцатеричную строку в целое число в C?
В C, какой самый эффективный способ преобразовать строку из hex цифр в двоичный unsigned int или unsigned long ?
Например, если у меня есть 0xFFFFFFFE , я хочу int со значением base10 4294967294 .
Что такое хорошее программное обеспечение для мониторинга производительности сервера для Windows?
Я ищу какое-нибудь программное обеспечение для мониторинга одного сервера для получения оповещений о производительности. Предпочтительно бесплатно и с разумной конфигурацией по умолчанию.
Edit: чтобы уточнить, я хотел бы запустить это программное обеспечение на машине Windows и контролировать удаленный сервер Windows для CPU/memory/etc. предупреждения об использовании (не одно приложение).
Edit: я полагаю, что это не обязательно, чтобы это программное обеспечение работало удаленно, я бы также согласился на что-то, что работает на сервере и отправляет мне по электронной почте, если есть предупреждение. Похоже, что журналы производительности и оповещения Windows могут быть использованы для этой цели каким-то образом, но это не было сразу очевидно для меня.
Edit: нашел аккуратный инструмент в блоге ужасов кодирования, не такой полезный для удаленного мониторинга, но очень полезный для вещей, о которых вы будете беспокоиться как администратор сервера: http://www.winsupersite.com/showcase/winvista_ff_rmon.asp
Ускорение работы веб-сайта или приложения ASP.Net
У меня есть Ajax.Net включен ASP.Net 2.0 веб-сайт. Хостинг как для сайта, так и для базы данных находится вне моего контроля, как и схема базы данных. При тестировании на аппаратном обеспечении я действительно контролирую сайт хорошо работает, однако на аппаратном обеспечении клиента есть заметные задержки при перезагрузке или смене страниц.
Что я хотел бы сделать, так это сделать мою заявку как можно более компактной и быстрой, когда я ее доставлю. Одна из идей заключается в том, чтобы установить даты истечения срока действия для всех статических ресурсов сайта, чтобы они не вызывались при загрузке страницы. Под ресурсами я подразумеваю изображения, связанные таблицы стилей и исходные файлы JavaScript. Есть ли простой способ сделать это?
Какие еще существуют способы оптимизации веб-сайта .Net?
UPDATE: Я запустил YSlow на сайте, и области, где я получаю удар сильнее всего, находятся в количестве загружаемых JavaScript и таблиц стилей (23 JS файла и 5 таблиц стилей). Все, кроме одного (основная таблица стилей), были вставлены Ajax.net и Asp. Почему их так много?
Как перегрузить std::swap()
std::swap() используется многими контейнерами std (такими как std::list и std::vector ) во время сортировки и даже назначения.
Но реализация std swap() является очень обобщенной и довольно неэффективной для пользовательских типов.
Таким образом, эффективность может быть получена путем перегрузки std::swap() с помощью специальной реализации пользовательского типа. Но как вы можете реализовать его так, чтобы он был использован контейнерами std?
Хорошие ресурсы для проектирования реляционных баз данных
Я ищу book/site/tutorial о лучших практиках для проектирования реляционных баз данных, настройки производительности и т. д. Оказывается, этот вид ресурса немного трудно найти; есть много "here's normalization, here's ER diagrams, have at it,", но не так много на пути реальных примеров. У кого-нибудь есть идеи?
В.NET, будут ли оптимизированы пустые вызовы методов?
Учитывая пустое тело метода, будет ли JIT оптимизировать вызов (я знаю, что компилятор C# не будет). Как бы мне это выяснить? Какие инструменты я должен использовать и где я должен искать?
Поскольку я уверен, что его спросят, причина пустого метода-директива препроцессора.
@Chris: Имеет смысл,но это может оптимизировать вызовы метода. Таким образом, метод все еще будет существовать, но статические вызовы к нему могут быть удалены (или, по крайней мере, встроены...)
@Jon: Это просто говорит мне, что компилятор языка ничего не делает. Я думаю, что мне нужно сделать, это запустить мой dll через ngen и посмотреть на assembly.
Учитывая N2 CMS, но беспокоился о производительности. Оправдано ли это?
Hy, кто-нибудь работал с системой управления контентом N2( http://www.codeplex.com/n2 ). Если да, то как он работает, производительность мудрая(при большой нагрузке)? Это кажется довольно простым и легким в использовании.
Адриан
446   5   11:04, 24th August, 2020
PHP производительность
Что я могу сделать, чтобы увеличить производительность / скорость моих скриптов PHP без установки программного обеспечения на моих серверах?
Как я могу определить скорость CodeIgniter?
Я думаю использовать фреймворк PHP под названием CodeIgniter .
Одна из вещей, которая меня интересует, - это его скорость. Однако у меня нет возможности узнать, насколько быстро это происходит, и я бы предпочел просто не верить на слово их веб-сайту. Кто-нибудь знает, как я сам могу определить его скорость, или кто-то может сказать мне о сайте, который может это сделать?
Интерпретируемые языки-использование скомпилированного языка за интерпретатором
Если есть какие-то языковые дизайнеры (или люди просто в курсе), мне интересно узнать о методологии создания стандартных библиотек для интерпретируемых языков. В частности, каков, по-видимому, наилучший подход? Определение стандартных функций / методов на интерпретируемом языке или выполнение обработки тех вызовов на компилируемом языке, на котором написан интерпретатор?
Что заставило меня задуматься об этом, так это вопрос SO о stripslashes()-подобной функции в Python. Моя первая мысль была "почему бы не определить свой собственный и просто вызвать его, когда он вам нужен", Но она подняла вопрос: предпочтительнее ли для такой функции позволить интерпретируемому языку обрабатывать эти накладные расходы, или лучше написать расширение и использовать скомпилированный язык позади интерпретатора?
460   4   00:15, 6th August, 2020
Разница в скорости использования встроенных строк против конкатенации в php5?
(предположим, php5) рассмотрим
<?php
$foo = 'some words';
//case 1
print "these are $foo";
//case 2
print "these are {$foo}";
//case 3
print 'these are ' . $foo;
?>
Есть ли большая разница между 1 и 2?
Если нет, то как насчет между 1/2 и 3?
Настройка производительности 64bit .NET
Я знаю, что .NET -это JIT , скомпилированный в архитектуру, на которой вы работаете непосредственно перед запуском приложения, но оптимизирует ли компилятор JIT для 64-битной архитектуры вообще?
Есть ли что-то, что нужно сделать или рассмотреть при программировании приложения, которое будет работать на 64bit system ? (т. е. улучшит ли использование Int64 производительность и сможет ли компилятор JIT автоматически заставить Int64 работать на 32-битных системах?)
Как организовать запросы набора данных для повышения производительности
Я не знаю, когда, чтобы добавить к набору данных адаптера таблицы или запроса с помощью панели инструментов. Разве это имеет какое-то значение?
Я также не знаю, где создавать экземпляры адаптеров.
- Должен ли я сделать это в
Page_Load? - Должен ли я просто сделать это, когда я собираюсь использовать его?
- Открываю ли я новое соединение при создании нового экземпляра?
Это не кажется очень важным, но каждый раз, когда я создаю запрос, маленький голос в моем мозгу задает мне эти вопросы.
Определение Проблем Производительности Сервера SQL
У нас есть спорадические, случайные тайм-ауты запросов в нашем кластере SQL Server 2005. У меня есть несколько приложений, которые используют его, поэтому я помогаю в расследовании. При просмотре времени % CPU в обычном Ol ' Perfmon вы, безусловно, можете увидеть, как он привязывается. Однако монитор активности SQL дает только совокупное время CPU и IO, используемое процессом, а не то, что он использует прямо сейчас или в течение определенного периода времени. Возможно, я мог бы использовать профилировщик и запустить trace, но этот кластер очень сильно используется, и я боюсь, что буду искать иголку в стоге сена. Я что, лаю не на то дерево?
Есть ли у кого-нибудь хорошие методы для отслеживания дорогостоящих запросов/процессов в этой среде?
Как отобразить статистику запросов к базе данных на сайте Wordpress?
Я заметил, что некоторые блоги Wordpress имеют статистику запросов, представленную в их нижнем колонтитуле, которая просто указывает количество запросов и общее время, необходимое для их обработки для конкретной страницы, читая что-то вроде:
23 вопроса. 0.448 секунд
Мне было интересно, как это делается. Может быть, это связано с использованием конкретного плагина Wordpress или, возможно, с использованием какой-то конкретной функции php в коде страницы?
Как отследить проблемы с производительностью при рендеринге страниц?
Мне было поручено улучшить производительность приложения ASP.NET 2.0 .
Страница, на которой я в настоящее время сосредоточен, имеет много проблем, но у меня возникли проблемы с копанием-это время рендеринга страницы. Использование Trace.axd длительность между началом и окончанием рендеринга составляет 1.4 секунд. Из MSDN я вижу, что
Все серверные элементы управления ASP.NET имеют Метод визуализации, который записывает элемент управления markup, который отправляется в браузер.
Если бы у меня был исходный код для всех элементов управления на странице, Я бы просто использовал их для trace из их времени рендеринга. К сожалению, эта конкретная страница имеет множество элементов управления, большинство из которых сторонние. Есть ли инструмент или техника, чтобы получить лучшую видимость того, что происходит во время рендеринга? Я хотел бы знать, есть ли особенно плохо выполняющийся элемент управления, или если на странице просто слишком много элементов управления.
Вы действительно можете построить быстрый текстовый процессор с шаблонами дизайна GoF?
Шаблоны дизайна Банды Четырех используют текстовый процессор в качестве примера по крайней мере для нескольких своих шаблонов, особенно композитных и Flyweight.
Помимо использования C или C++, можно ли действительно использовать эти шаблоны и объектно-ориентированные накладные расходы, которые они влекут за собой, чтобы написать высокопроизводительный полнофункциональный текстовый процессор?
Я знаю, что Eclipse написано в Java, но я не использовал его много, поэтому я не знаю, все ли это так быстро или так же отполировано, как что-то вроде Visual Studio, которая имеет систему редактирования текста на основе C++.
Я использовал только C++ и Java в качестве примеров. Этот вопрос больше связан с накладными расходами, связанными с наличием большого количества объектов в памяти, таких как приложение, такое как текстовый процессор или даже игра.
Шаблоны проектирования способствуют абстракции за счет скупости, хотя они обычно указывают, когда вы можете получить какой-то удар по производительности. Текстовые процессоры и особенно игры получают максимальную выгоду от того, чтобы быть как можно ближе к металлу.
Мне просто интересно, знает ли кто-нибудь о быстром объектно-ориентированном текстовом процессоре или текстовом редакторе, который не был написан на C++, и будут ли они строить его с использованием шаблонов или они забудут много абстрагирования вещей?
Оптимизация алгоритма поиска в C
Может ли производительность этого последовательного алгоритма поиска (взято из Практика программирования) может быть улучшена с помощью любой из собственных утилит C, например, если я установил переменную i в качестве переменной регистра ?
int lookup(char *word, char*array[])
{
int i
for (i = 0; array[i] != NULL; i++)
if (strcmp(word, array[i]) == 0)
return i;
return -1;
}
Выбор множителя для функции (string) hash
У вас есть какие-либо советы/правила по выбору множителя для использования в (мультипликативной) функции hash. Функция вычисляет значение hash строки.
Разница между массивом байтов и потоком памяти
Я читаю двоичный файл в программу синтаксического анализа. Мне нужно будет перебирать файл и искать определенные маркеры, чтобы я мог разделить файл и передать эти части в конструкторы соответствующих объектов.
Есть ли преимущество в сохранении файла в виде потока, будь то MemoryStream или FileStream, или он должен быть преобразован в массив byte[]?
Кит
Опыт работы с Hadoop?
Кто-нибудь из вас пробовал Hadoop? Может ли он использоваться без распределенной файловой системы, которая идет с ним, в архитектуре общего доступа? Есть ли в этом смысл?
Я также заинтересован в любых результатах работы, которые у вас есть...
Сравнение производительности хранилища RDF с традиционной базой данных
У кого-то есть решение для хранения RDF, например Sesame ? Я ищу обзор производительности такого рода решений по сравнению с традиционным решением для баз данных.
Лучший модуль мониторинга трафика / производительности / использования?
Есть ли какие-либо пакеты с открытым исходным кодом (или, я думаю, коммерческие), которые вы можете подключить к своему сайту для целей мониторинга? Я хотел бы что-то, что мы можем подключить к нашему сайту ASP.NET и использовать для предоставления отчетов о таких вещах, как:
- производительность с течением времени
- токовая нагрузка
- трафик страница
- SQL производительность
- PU контроль времени
В идеале в c# :)
С некоторыми сексуальными графиками.
Edit: я также был бы доволен пакетом, который я могу кормить статистикой и представлениями данных, и он будет анализировать тенденции, выявлять аномальное поведение (например, -за последний час никто не заходил в систему. это нормально?", "обнаружен высокий уровень трафика", "обнаружено низкое количество вызовов API") и, как правило, очень полезно. Существует ли такая вещь?
В моем последнем офисе у нас был большой экран, который показывал нам множество счетчиков производительности в течение нескольких временных диапазонов, и мы могли заметить странные вещи, происходящие, Но данные не хранились, и не было никакого способа сообщить об этом. Его пакет для этого, что я после этого.
Любимые приемы настройки производительности
Когда у вас есть запрос или хранимая процедура, требующая настройки производительности, что вы делаете в первую очередь?
Лучший модуль мониторинга трафика / производительности / использования?
Есть ли какие-либо пакеты с открытым исходным кодом (или, я думаю, коммерческие), которые вы можете подключить к своему сайту для целей мониторинга? Я хотел бы что-то, что мы можем подключить к нашему сайту ASP.NET и использовать для предоставления отчетов о таких вещах, как:
- производительность с течением времени
- токовая нагрузка
- трафик страница
- SQL производительность
- PU контроль времени
В идеале в c# :)
С некоторыми сексуальными графиками.
Edit: я также был бы доволен пакетом, который я могу кормить статистикой и представлениями данных, и он будет анализировать тенденции, выявлять аномальное поведение (например, -за последний час никто не заходил в систему. это нормально?", "обнаружен высокий уровень трафика", "обнаружено низкое количество вызовов API") и, как правило, очень полезно. Существует ли такая вещь?
В моем последнем офисе у нас был большой экран, который показывал нам множество счетчиков производительности в течение нескольких временных диапазонов, и мы могли заметить странные вещи, происходящие, Но данные не хранились, и не было никакого способа сообщить об этом. Его пакет для этого, что я после этого.
MyISAM против InnoDB
Я работаю над проектами, которые включают в себя много записей базы данных, я бы сказал ( 70% вставляет и 30% читает ). Это соотношение также будет включать обновления, которые я считаю одним чтением и одной записью. Чтение может быть грязным (например, мне не нужна 100% точная информация во время чтения).
Задача, о которой идет речь, будет заключаться в выполнении более 1 миллиона транзакций базы данных в час.
Я прочитал кучу материала в интернете о различиях между MyISAM и InnoDB, и MyISAM кажется мне очевидным выбором для конкретной базы данных/таблиц, которые я буду использовать для этой задачи. Из того, что я, кажется, читаю, InnoDB хорошо, если транзакции необходимы, так как поддерживается блокировка уровня строки.
Есть ли у кого-нибудь опыт работы с этим типом нагрузки (или выше)? Разве MyISAM-это правильный путь?
Одна база данных или много?
Я разрабатываю веб-сайт, который будет управлять данными для нескольких объектов. Данные не являются общими для всех объектов, но они могут принадлежать одному и тому же клиенту. Клиент может захотеть управлять всеми своими сущностями из одного "dashboard". Так что я должен иметь одну базу данных для всего, или держать данные разделены на отдельные базы данных? Есть ли лучшая практика? Каковы положительные / отрицательные стороны для того, чтобы иметь:
- база данных для всего сайта (сущности имеет "customerID", данные имеет "entityID")
- база данных для каждого клиента (данные "entityID")
- база данных для каждой сущности (отношение база данных для клиента находится за пределами база данных)
Несколько баз данных, похоже, будут иметь лучшую производительность (меньше строк и соединений), но в конечном итоге могут стать кошмаром обслуживания.
551   11   03:27, 12th August, 2020
JavaScript профилировщик в IE
Кто-нибудь знает инструмент для профилирования JavaScript в IE?
Список доступных:
- IE8 (только для Интернета Explorer 8)
- JavaScript профилировщик
- YUI!
Когда использовать STL битовых наборов вместо отдельных переменных?
В какой ситуации мне было бы более уместно использовать битовый набор (контейнер STL) для управления набором флагов, а не объявлять их как ряд отдельных переменных (bool)?
Получу ли я значительный прирост производительности, если буду использовать битовый набор для 50 флагов, а не 50 отдельных переменных bool?
sleep() молчаливые свиньи CPU
Я запускаю Apache на Linux в пределах VMWare.
Одна из PHP страниц, которые я запрашиваю, делает sleep() , и я обнаруживаю, что если я попытаюсь запросить вторую страницу, пока первая страница является sleep()'ing, вторая страница зависает, ожидая завершения sleep() с первой страницы.
Кто-нибудь еще видел такое поведение?
Я знаю, что PHP не является многопоточным, но это похоже на грубое неправильное обращение с CPU.
Edit: я должен был упомянуть, что использование CPU не вызывает скачков. Что я имею в виду CPU "hogging" заключается в том, что никаких других PHP страницы, кажется, в состоянии использовать CPU, пока страница sleep() передоза.
Какие стратегии вы использовали для повышения производительности веб-приложений?
- Есть ли у вас личный опыт преодоления препятствий в работе веб-приложений?
- Какие-либо рекомендуемые стратегии повышения производительности управляемого данными веб-приложения?
Моя команда разработчиков работает над веб-приложением (JSP reports, HTML, JavaScript), которое использует базу данных Oracle (PL/SQL). ключевая функциональность приложения заключается в создании отчетов, где пользователь может получить PDFs отчетов на высоком уровне и детализировать их до более низких уровней вспомогательных сведений.
Поскольку число вспомогательных подробных записей выросло до миллионов, производительность системы значительно снизилась. Основываясь на нашем текущем анализе метрик, узкое место, по-видимому, находится в логике, поражающей производительность DB и DB. В настоящее время изучается изменение модели DB и повторное выполнение некоторых логических операций на стороне сервера.
Разбиение на разделы, индексация, объяснение планов и запуск статистики-это вещи, которые были сделаны на стороне DB, чтобы попытаться помочь улучшить производительность. Хотя они и помогли, они не решили проблему удовлетворительно. Самая сложная часть анализа данных о производительности заключается в том, что база данных и веб-серверы удаленно управляются другой частью организации IT, поэтому разработчики не имеют регулярного, полного доступа, чтобы увидеть, что происходит (особенно в производственной среде, которая не зеркально отражена точно в любой другой среде разработки/тестирования).
Есть ли у вас какие-либо советы по улучшению производительности ReSharper и/или Visual Studio?
Я использую visual studio 2008 и ReSharper 4, и это довольно медленно. Моя машина имеет 2 GB из RAM, двухъядерный процессор и жесткий диск 7200 оборотов в минуту. Я знаю, что более RAM и более быстрый жесткий диск могут улучшить производительность, но есть ли у вас какие-либо советы по улучшению производительности ReSharper/Visual Studio?
Что делать с ScanAlert?
Один из моих клиентов использует McAfee ScanAlert (т. е. HackerSafe). Он в основном попадает на сайт с около 1500 плохих запросов в день ищет дыры в безопасности. Поскольку он демонстрирует вредоносное поведение, заманчиво просто заблокировать его после нескольких плохих запросов, но, возможно, я должен позволить ему использовать UI. Будет ли это настоящим испытанием, если я не дам ему закончить?
Есть ли способ ускорить рекурсию, запоминая дочерние узлы?
Например, Посмотрите на код, который вычисляет число Фибоначчи n-th :
fib(int n)
{
if(n==0 || n==1)
return 1;
return fib(n-1) + fib(n-2);
}
Проблема с этим кодом заключается в том, что он будет генерировать ошибку переполнения стека для любого числа больше 15 (в большинстве компьютеров).
Предположим, что мы вычисляем fib(10). В этом процессе, скажем, fib (5) вычисляется много раз. Есть ли способ сохранить это в памяти для быстрого извлечения и тем самым увеличить скорость рекурсии?
Я ищу общий метод, который может быть использован практически во всех проблемах.
Тактика использования PHP на высоконагруженном сайте
Прежде чем вы ответите на этот вопрос, я никогда не разрабатывал ничего достаточно популярного, чтобы достичь высоких нагрузок на сервер. Относитесь ко мне как к инопланетянину, который только что приземлился на планету, хотя и знает PHP и несколько методов оптимизации.
Я разрабатываю инструмент в PHP , который может охватить довольно много пользователей, если он работает правильно. Однако, хотя я полностью способен разрабатывать программу, я в значительной степени невежествен, когда речь заходит о создании чего-то, что может справиться с огромным трафиком. Поэтому вот несколько вопросов по этому вопросу (не стесняйтесь превратить этот вопрос в поток ресурсов).
База данных
На данный момент я планирую использовать функции MySQLi в PHP5. Однако как я должен настроить базы данных в отношении пользователей и контента? Действительно ли мне нужно несколько баз данных? На данный момент все перемешано в одной базе данных - хотя я рассматривал возможность распространения пользовательских данных в одну, фактического контента в другую и, наконец, основного контента сайта (мастера шаблонов и т. д.) до другого. Я рассуждаю так: отправка запросов в разные базы данных облегчит нагрузку на них, поскольку одна база данных = 3 источника нагрузки. Кроме того, было бы это все еще эффективно, если бы они все были на одном сервере?
Кэширование
У меня есть система шаблонов, которая используется для построения страниц и замены переменных. Основные шаблоны хранятся в базе данных, и каждый раз при вызове шаблона вызывается его кэшированная копия (документ html). На данный момент у меня есть два типа переменных в этих шаблонах - статический var и динамический var. Статические VAR-это обычно такие вещи, как названия страниц, название сайта - вещи, которые не часто меняются; динамические VAR-это вещи, которые меняются при каждой загрузке страницы.
Мой вопрос по этому поводу:
Скажем, у меня есть комментарии к разным статьям. Что является лучшим решением: хранить простой шаблон комментария и отображать комментарии (из вызова DB) каждый раз, когда страница загружается или хранить кэшированную копию страницы комментариев как страницу html - каждый раз, когда комментарий является added/edited/deleted, страница повторно кэшируется.
Окончательно
Есть ли у кого-нибудь советы/указатели для запуска высоконагруженного сайта на PHP. Я почти уверен, что это рабочий язык для использования - Facebook и Yahoo! дайте ему большое преимущество - но есть ли какие-то переживания, которые я должен остерегаться?
Есть ли разница в производительности между i++ и ++i в C?
Есть ли разница в производительности между i++ и ++i , если результирующее значение не используется?
Есть ли разница в производительности между i++ и ++i в C++?
У нас есть вопрос, есть ли разница в производительности между i++ и ++i в C ?
Каков ответ для C++?
Насколько дорого стоит .NET отражение?
Я постоянно слышу, как плохо использовать отражение. Хотя я обычно избегаю размышлений и редко нахожу ситуации, когда без них невозможно решить мою проблему, мне было интересно...
Для тех, кто использовал отражение в приложениях, вы измерили хиты производительности и, действительно ли это так плохо?
Ruby производительность
Я очень хочу разработать свое первое приложение Ruby, так как моя компания, наконец, благословила его использование внутри.
Во всем, что я читал о Ruby до v1.8, никогда не было ничего положительного сказано о производительности, но я ничего не нашел о версии 1.9. Последние цифры, которые я видел о 1.8, были значительно медленнее, чем почти все там, поэтому я надеюсь, что это было рассмотрено в 1.9.
Значительно ли улучшилась производительность? Есть ли какие-то конкретные вещи, которые можно сделать с помощью Ruby приложений (или вещей, чтобы избежать), чтобы сохранить производительность на лучшем уровне?
Как сжатие данных более эффективно, чем индексирование для производительности поиска?
В нашем приложении большие объемы данных индексируются тремя целочисленными столбцами (источник, тип и время). Загрузка значительных фрагментов этих данных может занять некоторое время, и мы внедрили различные меры для уменьшения объема данных, которые должны быть найдены и загружены для больших запросов, таких как хранение больших гранулярностей для запросов, которые не требуют высокого разрешения (с точки зрения времени).
При поиске данных в наших архивах резервных копий, где данные хранятся в текстовых файлах bzipped, но имеют в основном ту же структуру, я заметил, что значительно быстрее распаковать stdout и передать его через grep, чем распаковать его на диск и grep файлы. Фактически, untar-to-pipe был даже заметно быстрее, чем просто захват несжатых файлов (т. е. дисконтирование untar-to-disk).
Это заставило меня задуматься, действительно ли влияние производительности дискового ввода-вывода намного тяжелее, чем я думал. Итак, вот мой вопрос:
Считаете ли вы, что помещение данных из нескольких строк в (сжатое) поле blob одной строки и поиск одиночных строк на лету во время извлечения может быть быстрее, чем поиск одних и тех же строк через индекс таблицы?
Например, вместо того, чтобы иметь эту таблицу
CREATE TABLE data ( `source` INT, `type` INT, `timestamp` INT, `value` DOUBLE);
Я бы так и сделал
CREATE TABLE quickdata ( `source` INT, `type` INT, `day` INT, `dayvalues` BLOB );
с примерно 100-300 строк в данных для каждой строки в quickdata и поиска нужных меток времени на лету во время декомпрессии и декодирования поля blob.
Это имеет смысл для вас? Какие параметры я должен исследовать? Какие ниточки могут быть привязаны? Какие функции DB (любые DBMS) существуют для достижения аналогичных эффектов?
Есть ли негативные последствия при использовании Mod-Rewrite?
Я знаю, что есть много положительных вещей, которые mod-rewrite выполняет. Но есть ли какие-то негативные моменты? Очевидно, что если у вас плохо написаны правила, у вас будут проблемы. Но что, если у вас большой объем сайта и вы постоянно используете mod-rewrite, это будет иметь значительное влияние на производительность? Я быстро поискал некоторые ориентиры в Google и не нашел много.
Какой ваш любимый инструмент профилирования (для C++)
До сих пор я использовал только рациональную количественную оценку. Я слышал много хорошего о Intel VTune, но никогда не пробовал его!
Edit: я в основном ищу программное обеспечение, которое будет измерять код, поскольку я думаю, что это единственный способ получить очень хорошие результаты.
Смотреть также:
Каковы некоторые хорошие профилировщики для native C++ на Windows?
Каков самый быстрый способ определить полный URL из относительного URL (учитывая базу URL)
В настоящее время я использую модуль URI::URL для создания полного URL из относительного URL; однако он работает не так быстро, как хотелось бы. Кто-нибудь знает другой способ сделать это, который может быть быстрее?
Системного Анализа Файл
У меня есть куча файлов perfmon, которые фиксировали информацию в течение определенного периода времени. Что является лучшим инструментом для получения этой информации? В идеале я хотел бы иметь возможность видеть статистику avg в час для счетчиков объектов, которые были проверены.
Когда вы используете табличные кластеры?
Как определить, когда следует использовать табличные кластеры ? Существует два типа, index и hash, которые можно использовать для разных случаев. По вашему опыту, окупилось ли внедрение и использование табличных кластеров?
Если ни одна из ваших таблиц не настроена таким образом, изменение их для использования табличных кластеров увеличит сложность настройки. Но перевесят ли ожидаемые эксплуатационные преимущества затраты на повышение сложности будущих работ по техническому обслуживанию?
Есть ли у вас любимые онлайн-ссылки или книги, которые хорошо описывают кластеризацию таблиц и дают хорошие примеры реализации?
//Oracle советы очень ценятся.
Несколько классов в заголовочном файле по сравнению с одним заголовочным файлом для каждого класса
По какой-либо причине наша компания имеет руководство по кодированию, которое гласит::
Each class shall have it's own header and implementation file.
Поэтому, если бы мы написали класс с именем MyString , нам понадобились бы ассоциированные MyStringh.h и MyString.cxx .
Кто - нибудь еще это делает? Кто-нибудь видел какие-либо последствия для производительности компиляции в результате этого? Действительно ли 5000 классов в 10000 файлов компилируются так же быстро, как 5000 классов в 2500 файлов? Если нет, то заметна ли разница?
[Мы кодируем C++ и используем GCC 3.4.4 как наш повседневный компилятор]
SQL сервер 2k5 потребление памяти?
У меня есть виртуальная машина разработки, которая работает на сервере sql, а также некоторые другие приложения для моего стека, и я обнаружил, что другие приложения работают ужасно. После некоторого рытья, сервер SQL засорял память. После быстрого поиска в Интернете я обнаружил, что по умолчанию он будет потреблять столько памяти, сколько может, чтобы кэшировать данные и возвращать их в систему, как это требуют другие приложения, но этот процесс часто не происходит достаточно быстро, по-видимому, моя ситуация является общей проблемой.
Однако есть способ ограничить память, которую сервер SQL может иметь . Мой вопрос в том, как я должен установить этот предел. Очевидно, мне нужно будет сделать некоторые догадки и проверить, но есть ли абсолютный минимальный порог? Любые рекомендации приветствуются.
Редактировать:
Я отмечу, что на машинах разработчиков есть 2 гигабайта памяти, поэтому я хотел бы иметь возможность запускать виртуальную машину на 768 Мб или меньше, если это возможно. Эта виртуальная машина будет использоваться только для локальной разработки и тестирования, поэтому нагрузка будет очень минимальной. После того, как код был протестирован локально, он переходит в другую среду, где выделено поле сервера SQL. То, что я действительно ищу здесь, - это рекомендации по минимумам
Является ли DateTime.Now лучшим способом измерения производительности функции?
Мне нужно найти узкое место и нужно как можно точнее измерить время.
Является ли следующий фрагмент кода лучшим способом измерения производительности?
DateTime startTime = DateTime.Now;
// Some execution process
DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);
Какой кэшер PHP opcode следует использовать для повышения производительности?
Я пытаюсь улучшить производительность при высокой нагрузке и хотел бы реализовать кэширование кода операции. Какой из следующих вариантов следует использовать?
Я также открыт для любых других альтернатив, которые ускользнули от моего радара.
В настоящее время работает на складе Debian Etch с Apache 2 и PHP 5.2
[Обновление 1]
HowtoForge добавлены установочные ссылки
[Обновление 2]
Основываясь на полученных ответах и отзывах, я протестировал все 3 реализации, используя следующий план тестирования Apache JMeter в своем приложении:
- Авторизоваться
- Доступ К Домашней Странице
При наличии 50 одновременных подключений результаты выглядят следующим образом:
Нет Кэширования Кода Операции
APC
eAccelerator
XCache
График производительности (чем меньше, тем лучше)
Из приведенных выше результатов следует, что eAccelerator имеет небольшое преимущество в производительности по сравнению с APC и XCache. Однако самое важное из приведенных выше данных заключается в том, что любой вид кэширования кода операции дает огромную производительность boost.
Я решил использовать APC по следующим двум причинам:
- Пакет доступен в официальном репозитории Debian
- Более функциональная панель управления
Чтобы подвести итог моему опыту:
Простота установки: APC > eAccelerator > XCache
Производительность: eAccelerator > APC, XCache
Панель Управления: APC > XCache > eAccelerator
Почему сервер SQL работает быстрее, когда вы индексируете таблицу после ее заполнения?
У меня есть sproc, который помещает 750k записей во временную таблицу через запрос в качестве одного из своих первых действий. Если я создаю индексы для временной таблицы до ее заполнения, то выполнение элемента занимает примерно вдвое больше времени, чем при индексации После заполнения таблицы. (Индекс-это целое число в одном столбце, индексируемая таблица - это всего лишь два столбца, каждый из которых является одним целым числом.)
Это кажется мне немного странным, но тогда у меня нет самого твердого понимания того, что происходит под капотом. У кого-нибудь есть ответ на этот вопрос?
Linq - SQL: могу ли я загрузить только одно поле в объединенную таблицу?
У меня есть одна таблица "orders" с ключом foreing "ProductID".
Я хочу показать заказы в сетке с названием продукта, без LazyLoad для лучшей производительности, но если я использую DataLoadOptions , он извлекает все поля продукта, что выглядит как перебор .
Есть ли способ получить только название продукта в первом запросе? Можно ли установить какой-то атрибут в DBML?
В этой таблице говорится, что "Foreign-key values"-это "Visible" в Linq-SQL, но не знаю, что это значит.
Edit: изменил название, потому что я действительно не уверен, что нет никакого решения.
Не могу поверить, что ни у кого нет такой же проблемы, это очень распространенный сценарий.
Почему пагинация так ресурсоемка?
Это одна из тех вещей, которые, кажется, имеют странную кривую, где чем больше я думаю об этом, тем больше это имеет смысл. В определенной степени, конечно. И тогда для меня это вообще не имеет смысла.
Не хочешь просветить меня?