From Diablo Wiki
/*is there a way to make this page just directly link to http://diablo2.diablowiki.net/Guide:Calculating_Poison_Damage_v1.10,_by_onderduiker It's older, better and I created this page just to make the information easier to find.*/
Poison Damage can be difficult to calculate in Diablo 2, because multiple poison items and skills do not stack directly. Poison damage is not actually calculated in damage per second, but damage per frame. Diablo 2 is set to run at a constant 27 frames per second. An item that does 27 poison damage, over 1 second, is actually doing 1 damage per frame. To calculate the total poison damage done from all your items and skills, there are two steps. First, calculate the damage per frame for all your items and and them together. Second, average the duration in frames for all the sources of poison. Finally multiply these numbers together to get the total damage done.
--Level 10 Poison Dagger does up to 153 over 5.6 seconds (151 frames) or 1.01 DPF.
--A Small Charm of Anthrax does 50 over 5 seconds (135 frames) or 0.37 DPF.
--A perserved head which adds 50 over 4 seconds (108 frames) or 0.46 DPF.
The total damage per frame for this attack is 1.84, and it will last for 4.86 seconds (131 frames). This is a total of 241 poison damage.
If you added a charm that does 10 damage over 2 seconds, the damage per frame increases to 2.03, but the total damage is actually reduced to 227 because the effect only lasts for 4.15 seconds (112 frames).