Сервер для Привета

Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

vovap wrote:Это явно ко мне.
Так вот мы, мэтры, думаем что если конвертировать, то все.
Во- первых это все гадания (хотя вполне правдоподобные - я вот и не подумал, что таблица топиков все время обновляется)
Во-вторых поддерживать одновременно два формата таблиц удовольствие (с точки зрения суппорта) маленькое.

Какие проблемы с этим?
Наконец, при этом должны вроде как работать два движка, что тоже наверное, не лучше для производительности.

Не два движка, а два участка кода. Никакого влияния на производительность не набдюдаю. Преимуществ же - масса: возможность выбирать формат в зависимости от шаблона использования.
Что приводит меня (видного специалиста в области СУБД) к логичному и научнообоснованному выводу:

MySQL RULEZ!!!
:mrgreen:
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

Palych wrote:Ета операция выполняется при каждом просмотре топика:

Code: Select all

UPDATE phpbb_topics SET topic_views = topic_views + 1 WHERE topic_id = ${TopicID}
При етом просмотр топика - самая популярная операция. Она кроме указанноро апдейта содержит кучу селектов.

А покажите весь код просмотра отдельной дискуссии? Я так понимаю, что там вначале для обеспечения deadlock free a-la MySQL должны быть заблокированы все таблицы посредством замечательной инструкции LOCK TABLES включая запрос на эклюзивную блокировку phpbb_topics. Откуда фактически получается полная сериализация доступа и многопользовательская СУБД преврещается в строго однопользовательскую даже для просмотра. Да, это, мягко говоря, не очень не очень хорошо.
Cheers
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

tengiz wrote:А покажите весь код просмотра отдельной дискуссии?

Code: Select all

SELECT *
   FROM phpbb_config
-- --
SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments
   FROM phpbb_topics t, phpbb_forums f
   WHERE t.topic_id = 30
      AND f.forum_id = t.forum_id
      
-- --
SELECT u.*, s.*
         FROM phpbb_sessions s, phpbb_users u
         WHERE s.session_id = '63326857c88170869c27a0d59906133f'
            AND u.user_id = s.session_user_id
-- --
UPDATE phpbb_sessions
                  SET session_time = 1082948574, session_page = 3
                  WHERE session_id = '63326857c88170869c27a0d59906133f'
-- --
DELETE FROM phpbb_sessions
                  WHERE session_time < 1082944974
                     AND session_id <> '63326857c88170869c27a0d59906133f'
-- --
SELECT *
      FROM phpbb_themes
      WHERE themes_id = 1
-- --
SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
   FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt
   WHERE p.topic_id = 30
      
      AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
   ORDER BY p.post_time ASC
   LIMIT 0, 15
-- --
SELECT *
   FROM phpbb_ranks
   ORDER BY rank_special, rank_min
-- --
SELECT word, replacement
      FROM  phpbb_words
-- --
SELECT c.cat_id, c.cat_title, c.cat_order
      FROM phpbb_categories c, phpbb_forums f
      WHERE f.cat_id = c.cat_id
      GROUP BY c.cat_id, c.cat_title, c.cat_order
      ORDER BY c.cat_order
-- --
SELECT *
         FROM phpbb_forums
         ORDER BY cat_id, forum_order
-- --
UPDATE phpbb_topics
   SET topic_views = topic_views + 1
   WHERE topic_id = 30
-- --
SELECT * FROM phpbb_smilies
-- --
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Post by Privet »

Уже больше недели не могу вылезти с работы. Надо срочно закончить одну рыботу, которая не идёт из-за кривого драйвера и полудохлого железа. Прихожу домой не раньше девяти. Извиняюсь, что как самое заинтересованное лицо, я, тем не менее, меньше всех участвую в дискуссии.

1. Вариант с InnoDB меня, честно говоря, заинтересовал. Переходить на MS SQL можно будет только после запуска нового сервера, который откладывается из-за того, что микросхема с BIOS прошилось криво и сейчас motherboard скорее мертва, чем жива. ПОка мы живём на том, что есть и надо попробовать эффективно использовать имеющиеся ресурсы. Я постораюсь что-нибудь сделать в субботу-воскресенье. Попробую создать клон форума на InnoDB. Наверно, всё-таки в воскресенье. Надо немного отойти от работы. 60-часовая безрезультатная рабочая неделя несколько выматывает.

2. Что касается CGI, то у меня давно на него аллергия. До какого-то времени я всё-таки надеялся, что PHP SAPI будет доведён до ума. Увы... Прилаживать левые ускорители я бы не хотел, но, если найду ссылки на интересный опыт, подумаю. Насчет Апачи тоже подумаю и поэкспериментирую с proxy на IIS, который гоняет .NET. Рекомендации на этот счет я получил. Кто найдёт дополнительнуюинформацию - дайте знать.

Ситуация, как я понимаю, не так уж и плоха. ПОймать блокировку нам удаётся не каждый день.
Last edited by Privet on 07 May 2004 15:47, edited 1 time in total.
Привет.
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

Privet wrote:1. Вариант с InnoDB меня, честно говоря, заинтересовал. ... Попробую создать клон форума на InnoDB. Наверно, всё-таки в воскресенье.

Consider this:
BTW, Lanzer, are you working with MyISAM or InnoDB tables?


Right now basically anything that gets updated in less than a second is running InnoDB:

users table
topics table
search wordlist
search results
privmsgs table and text
posts table and text
forums table

The rests are still MyISAM since they are so much faster to scan.

http://www.phpbb.com/phpBB/viewtopic.ph ... =40#847981
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Post by Privet »

Наверное, так и сделаю. Там ещё предлагаются некоторые модификации. Я посмотрю, что я могу использовать.

Любые советы и комментарии будут полезны. Даже если я не отвечаю, я просматриваю топик и принимаю многие вещи к сведению. Если считаете что-то важным, то я я не возражаю, если это будет повторено в топике несколько раз.
Привет.
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

Privet wrote:2. ... Насчет Апачи тоже подумаю и поэкспериментирую с proxy на IIS, который гоняет .NET. Рекомендации на этот счет я получил. Кто найдёт дополнительнуюинформацию - дайте знать.


Code: Select all

(httpd.conf)
...
# not sure if it's required on Windows, but it won't hurt anyway....
LoadModule rewrite_module modules/mod_rewrite.so
...
# Whatever is root...
DocumentRoot "C:/opt/apache2/Apache2/htdocs"
...
<Directory "C:/opt/apache2/Apache2/htdocs">
    RewriteEngine On
    RewriteBase   /
    RewriteRule   ^dotnetsite/(.*)$  http://privet.com:3333/dotnetsite/$1 [R]
.
.
.


http://httpd.apache.org/docs-2.0/mod/mo ... ewriterule

This is a bit tricky. Let me know if you'll run into problems.
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Post by Privet »

Ок. Настроить прокси для .NET сайта проблем не составило.

Завтра, если будет время, попробую InnoDb
Привет.
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

Privet wrote:Ок. Настроить прокси для .NET сайта проблем не составило.

Оно что уже под Apache бегает?
vovap
Уже с Приветом
Posts: 12014
Joined: 05 Apr 2000 09:01
Location: Philadelphia, PA, USA

Post by vovap »

Palych wrote:Оно что уже под Apache бегает?

Так вот если бегает - то эту причину можно спокойно отвести. Я сегодня видел несколько классических торможений в добой основательной манере.
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

Тут на RSDN появилась статья проливаюшая немного света на работу MS SQL Server. Она наверное поможет и общему пониманию DB
Deadlocks. Что такое взаимоблокировки и как с ними бороться http://www.rsdn.ru/article/db/deadlocks.xml
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

А знаете ливы что [PHP] оказывается умеет сессии! (Я тут покопался в наших поделках)
В принципе ето может сократить хождения к серверу за статическими табличками [select * from phpnn_config; smiles, etc.]...
Естественно ето не заработает в CGI...
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

Palych wrote:А знаете ливы что [PHP] оказывается умеет сессии!

Конечно знаем. Какой пакедж не возьмешь, везде ето повсеместно.
Верить нельзя никому - даже себе. Мне - можно!
Merle
Уже с Приветом
Posts: 109
Joined: 26 Sep 2002 12:24

Post by Merle »

Siberian Cableman wrote:Тут на RSDN появилась статья проливаюшая немного света на работу MS SQL Server. Она наверное поможет и общему пониманию DB
Deadlocks. Что такое взаимоблокировки и как с ними бороться http://www.rsdn.ru/article/db/deadlocks.xml

Она большей частью написана под влиянием сообщений Tengiz'а, по крайней мере там, где речь идет об MSSQL, так что в данном случае лучше обратиться к первоисточнику.. :D
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Post by Privet »

Вопрос угас, но я хотел продолжить бы этот топик в связи с тем, что, похоже, заработал новый сервер. Я получил BIOS и он работает. После праздников продоложу.

Предполагается, что на новом сервере будет установлена БД.

Можем обсудить новую конфигурацию сервера.

P.S. Я появлюсь обратно только после праздников.
Привет.

Return to “Вопросы и новости IT”